2016-08-12 3 views
4

私はnginxの設定(WSS://)

upstream node{ 
    server 127.0.0.1:8081 max_fails=1 fail_timeout=20s; 

} 
server { 
    listen 8000 default_server ssl; 
    server_name bla.bla; 

    ssl_certificate path; 
    ssl_certificate_key path; 

    location /serve { 
     proxy_pass http://node; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
     proxy_set_header Host $host; 
     proxy_cache_bypass 1; 
     proxy_no_cache 1; 
     proxy_redirect off; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-NginX-Proxy true; 
     proxy_connect_timeout 2s; 
    } 
    location/{ 
     include   uwsgi_params; 
     uwsgi_pass  unix:///var/uwsgi/sel.sock; 
    } 
} 

にuwsgiを経由して提供されるセットアップDjangoのアプリに以下の構成を持っているが、私はとnodejsサーバーを持っています私が使用して私のhtmlページ上のWebSocketサーバーにアクセスしたときのWebSocketサーバーが今ポート8081

var WebSocketServer = require('ws').Server 
    , wss = new WebSocketServer({ port: 8081, path: "/serve" }); 

上で実行されている

var websocket = new WebSocket("wss://host:8081/serve"); // works 
var websocket = new WebSocket("wss://host:8000/serve"); // doesn't work get 504 error 

私は間違って何をしていますか?誰でも私の間違いを指摘し、適切に設定するためのポインタを表示できますか?

EDIT:私のnginxのバージョンはnginxのバージョンです:nginxの/ 1.4.6(Ubuntuの)

+0

'proxy_connect_timeout'の値を増やしてみましたか? – VBart

+0

@VBartはい、私は30にそれを置く、まだ動作しません。 –

+0

このチャットがうまくいくかどうか分かりませんが、Node + Nginx + Django + Websocketで投稿を見ました。私は同じ正確な設定をセットアップしようとしています。あなたは設定や設定を案内するために共有できるブログや一連のリソースを持っていますか?私はここでチャットを作成することができたと思うが(http://chat.stackoverflow.com/rooms/121421/room-for-thatsrightjack-and-pavan-k)、動作しない可能性があります。とにかく、同じセットアップのためのガイダンスを探しているだけです – ThatsRightJack

答えて

0

wssは、TLSを使用して暗号化のWebSocket接続を前提としています。 wss://host:8081が動作する場合、node.jsは暗号化された接続をリッスンします。しかし、TLS終了と暗号化されていないデータのプロキシ用にnginxを設定しました。

+0

正しく設定するには?任意のポインタは評価されていますか?私はすべてを試しましたが、それを理解するようには思えません。 –

+0

@PavanKまず、nginxで使用されたURIが動作するかどうか確認してください: 'new WebSocket(" wss:// host:8081/serve ");' – VBart

+0

はい、それはそのパスで動作します。新しい設定で投稿を編集しました。以前の設定を先に投稿しました。 –