2016-10-18 17 views
0

ノードを設定します。 JSプロジェクトSSLでnginxの経由socket.ioを使用して、しかし、私は失敗した、私はそれを起動したときに、このようなエラーoccours:nginx + socket.io + ssl: 'ws://wechat.pageguy.tech/socket.io/?EIO = 3&transport = websocket'へのWebSocket接続に失敗しました:予期しない応答コード:302

enter image description here

は、私は、全体の正午の検索を過ごしたとの文書を読んで、まだ方法を見つけ出すことはできませんこの問題を解決するには誰かがこの問題を以前に遭遇したり、それについて何か考えているのなら、私に助けてください、ありがとうございます。私の急行ポートは3335で、私のsocket.ioポートは3005.Everythingが私の前に罰金だった

server { 
listen  443; 
server_name wechat.pageguy.tech; 
proxy_set_header X-Forwarded-For $remote_addr; 
proxy_set_header X-Real-IP $remote_addr; 
#charset koi8-r; 
#access_log /var/log/nginx/log/host.access.log main; 

ssl on; 
ssl_certificate /etc/ssl/private/pageguy.crt; 
ssl_certificate_key /etc/ssl/private/pageguy.key.unsecure; 

location/{ 
    #root /usr/share/nginx/html; 
    #index index.html index.htm; 
    proxy_pass http://localhost:3335; 
} 

location /ws/ { 
    proxy_pass http://localhost:3005; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_read_timeout 86400; 
} 
} 

です

let socket = io.connect('//wechat.pageguy.tech/ws', {transports: ['websocket']}); 

これはnginxのコードです:

は、これは私のクライアント側のjsコードですnginx設定ファイルにsslを追加しました。

+1

は、SSLのための設定を示しているが、あなたはアクセスWSからのエラーメッセージが表示されます://、すなわちありませんssl(これはwss://だったでしょう)。これは、あなたが表示する設定の一部がこの質問と無関係であることを意味します。 –

+0

代わりに "wss://"を使用しようとしましたが、同じエラーメッセージが表示されました。問題はスキーマではなく設定ですが、私はそれを理解できません。 –

答えて

0

私は555を助けてくれませんが、私は自分で問題を解決しました。クライアント側のjsのコードで

nginxのconfigureコンファイル内
let socket = io.connect('https//wechat.pageguy.tech/', {transports: ['websocket']}); 

location /socket.io/(not /ws/ because its default value) 
関連する問題