2016-08-12 1 views
4

내가 설정 장고 응용 프로그램에 다음과 같은 구성이 내가 가진 nodejs 서버가 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 통해 제공 될 수있다 내가 사용하여 내 HTML 페이지에 웹 소켓 서버에 액세스 할 때 웹 소켓 서버는 이제 포트 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 

내가 뭘 잘못하고 있니? 아무도 내 실수를 지적하고 제대로 구성하기위한 포인터를 표시 할 수 있습니다.

편집 : 내의 nginx 버전의 nginx 버전 : nginx를/1.4.6 (우분투)

+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를 사용하여 암호화 된 웹 소켓 연결을 가정합니다. wss://host:8081이 작동하면 node.js는 암호화 된 연결을 수신 대기합니다. 그러나 TLS 터미네이션과 암호화되지 않은 데이터의 프록 싱을 위해 nginx를 설정했습니다.

+0

제대로 구성하는 방법? 모든 포인터는 감사하니? 나는 모든 것을 시도했지만 그것을 이해하는 것처럼 보일 수는 없다. –

+0

@PavanK 먼저, nginx에서 사용 된 URI가 작동하는지 확인하십시오. 'new WebSocket ("wss : // host : 8081/serve");' – VBart

+0

예, 해당 경로에서 작동합니다. 나는 새로운 설정으로 포스트를 편집했다. 이전 설정을 더 일찍 게시했습니다. –

관련 문제