1

我正在开发一个 web-socket 项目,我希望 web-socket 牛仔服务器监听 8080 端口,但将消息转发到另一个端口。我可以这样做吗?任何帮助表示赞赏

4

1 回答 1

2

将消息转发到另一个端口是什么意思?牛仔的处理程序正在处理到达您的 websocket 的消息。您可以将它们重定向到您喜欢的任何地方。但是,我认为您真正追求的是面向牛仔的代理。如果是这种情况,您应该将 nginx 视为前端。安装后,您可以提供以下配置:

 http {
   ...
        server {
           listen 443
           ...

           location ~ ^/myws/
           {
             proxy_pass                      http://127.0.0.1:8080 ;
             proxy_http_version              1.1 ;
             proxy_set_header                Upgrade     $http_upgrade ;
             proxy_set_header                Connection  "upgrade" ;

             proxy_connect_timeout           60 ;
             proxy_read_timeout              86400 ;
             proxy_send_timeout              86400 ;
             proxy_ignore_client_abort       off ;
             proxy_redirect                  off ;
           }
          ...
        }
   ....
 }

这将使您能够在您喜欢的任何端口(在您的示例中为 8080)上运行牛仔监听,同时让 nginx 在将 websocket 请求转发给牛仔时照顾您的 SSL 需求。客户端可以连接@

wss://{你的服务器}/myws

如果不需要 SSL 地址将

ws://{你的服务器}/myws

并且上面配置中的监听端口需要更改为80。

于 2014-05-28T11:22:26.537 回答