Maison  >  Questions et réponses  >  le corps du texte

ssl - websocket demande le port écouté par nginx et la négociation d'ouverture de WebSocket a été annulée.

La version de Nginx est la 1.10.1

nginx configure le transfert TCP :


tcp{
    upstream ge_ssl {
            server 127.0.0.1:1234;
    }

    map $http_upgrade $connection_upgrade{
            default upgrade;
            ''      close;
    }
    
    server{
            listen 9988;
            ssl on;
            ssl_certificate /etc/le/l/abc.com/fullchain.pem;
            ssl_certificate_key /etc/le/l/abc.com/privkey.pem;
            ssl_session_timeout  5m;
            ssl_protocols  SSLv2 SSLv3  TLSv1.1 TLSv1.2;
            ssl_ciphers  HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers   on;
            location / {
                    proxy_pass http://ge_ssl;
                    proxy_http_version 1.1;
                    #proxy_ssl_session_reuse off;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "upgrade";
            }
    }
    
}

Port d'écoute nginx : 443,80,9988

    443:ssl证书

    80:rewrite 跳转443
    
    9988:该端口为了应对网页的websocket请求,然后将请求转发给1234端口

Navigateur : FireFox, Chrome

Code de la page Web :

    var ws = new WebSocket('ws://129.136.145.58:9988');

    在FireFox上面,可以通过,Chrome上面,会出错,错误如下:

    Mixed Content: The page at 'https://www.abc.com/me' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://129.136.145.58:9988/'. This request has been blocked; this endpoint must be available over WSS.
    Uncaught SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

所以网页代码改用为var ws = new WebSocket('wss://129.136.145.58:9988');

这下FireFox和Chrome一起失败了...错误如下:
           
WebSocket connection to 'wss://129.136.145.58:9988/' failed: WebSocket opening handshake was canceled

Après avoir vérifié de nombreuses informations, je ne sais toujours pas pourquoi. S'il vous plaît, donnez-moi quelques conseils, je vous serais très reconnaissant. . .

迷茫迷茫2691 Il y a quelques jours1625

répondre à tous(1)je répondrai

  • 大家讲道理

    大家讲道理2017-05-16 17:16:16

    https et ws ne peuvent pas être mélangés, utilisez http et wss

    répondre
    0
  • Annulerrépondre