牛仔前往港口

时间:2014-05-28 07:59:36

标签: websocket erlang cowboy erlang-ports

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

1 个答案:

答案 0 :(得分:2)

你转发到另一个端口的意思是什么意思? cowboy的处理程序正在处理到达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:// {your server} / myws

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