我有一个连接到Web套接字但它仅限于Intranet。 看起来像这样:
socket = new WebSocket("ws://xx.xxx.6.98:8200/demo/");
可以从服务器端代理它,以便可以从外部世界访问它吗?
类似的东西:
socket = new WebSocket("ws://mysite.com/getWebSocket/demo/");
答案 0 :(得分: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";
}
答案 1 :(得分:0)
当然,我使用SignalR在服务器上运行它,并使用Apache上的ProxyPass将其暴露给互联网。
所以你需要的是一个反向代理,你也可以让它与Nginx一起使用,但这与Apache有关:
<div class="row" ng-controller="audiotest">
<div class="row">
<button type="button" ng-click="recognize()"> Attempt recognition </button>
<p> Result is {{myResult}} </p>
</div>
</div>
你在域或服务器IP上有这个,当你去ipaddressordomain.com/ws时,你实际上去了ws://xx.xxx.6.98:8200 / demo /