2016-10-10 195 views
0

我有一個網絡套接字的連接,但它僅限於內部網。 是這樣的:代理WS(網絡套接字)連接?

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

它可以從服務器端代理,以便它可以從外面的世界變得可以訪問?

喜歡的東西:

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

回答

1

nginx的你可以轉發對目標服務器的流量。這裏是一個如何代理轉發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在Apache上互聯網。

所以,你需要的是一個反向代理,也可以讓它與Nginx的工作,但是這與Apache:

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

你有這樣的一個域或服務器IP,當你去ipaddressordomain .com/ws你實際去ws://xx.xxx.6.98:8200/demo/

+1

我的很基本,Olle的回答更詳細:) – Alexander