2016-10-10 4 views
0

Ich habe eine Verbindung zu einem Web-Socket, aber es ist auf das Intranet beschränkt. sieht wie folgt aus:Proxy eine WS (Web-Socket) Verbindung?

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

Es es möglich, sie von der Serverseite zu Proxy, so dass es zugänglich von der Außenwelt werden kann?

Etwas wie:

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

Antwort

1

Mit Nginx Sie den Verkehr auf dem Zielserver weiterleiten kann. Hier sehen Sie ein Beispiel, wie Sie einen Socket.IO Websocket per Proxy weiterleiten können.

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"; 
} 

Nützlicher Link: https://www.nginx.com/blog/websocket-nginx/

0

sicher, was ich mit SignalR tun läuft es auf einem Server, und setzen Sie es mit dem Internet mit Proxypass auf Apache.

Also, was Sie brauchen, ist ein Reverse-Proxy, können Sie es auch mit Nginx arbeiten lassen, aber dies ist mit Apache:

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

Sie haben dies in einer Domäne oder Server-IP, und wenn Sie gehen zu ipaddressordomain .com/ws du gehst eigentlich zu ws: //xx.xxx.6.98: 8200/demo/

+1

Meine war sehr einfach, Olle's Antwort ist detaillierter :) – Alexander

Verwandte Themen