2016-10-10 3 views
0

웹 소켓에 연결할 수 있지만 인트라넷으로 제한됩니다. 은 다음과 같습니다 : 그것은 외부에서 접근 될 수 있도록WS (웹 소켓) 연결을 프록시 하시겠습니까?

socket = new WebSocket("ws://xx.xxx.6.98:8200/demo/"); 

그것은 서버 측에서 프록시가 가능한 IT? 같은

뭔가 : Nginx에와

socket = new WebSocket("ws://mysite.com/getWebSocket/demo/"); 

답변

1

당신이 당신의 대상 서버쪽으로 트래픽을 전달할 수 있습니다. 다음은 Socket.IO Websocket을 프록시 전달하는 예제입니다.

location /socket.io/ { 
    proxy_pass      http://xx.xxx.6.98:8200; 
    proxy_http_version    1.1; 
    proxy_set_header Upgrade  $http_upgrade; 
    proxy_set_header Connection  "upgrade"; 
} 

유용한 링크 : https://www.nginx.com/blog/websocket-nginx/

0

물론, 내가 SignalR에 무슨는 서버에서 실행하고, 아파치에 ProxyPass로와 인터넷에 노출되어있다.

그래서 당신은 역방향 프록시되는 필요, 당신은 또한 Nginx와 함께 작업 할 수 있지만이 아파치입니다 :

ProxyPass /ws ws://xx.xxx.6.98:8200/demo/ 

을 당신은 도메인 또는 서버 IP에서이 있고, 당신은 ipaddressordomain에 갈 때 .com/ws 실제로 ws : //xx.xxx.6.98 : 8200/demo/

+1

광산은 매우 기본적이고 Olle의 답변은 더 자세합니다 :) – Alexander

관련 문제