nginx作为Websocket的代理发送短信

Posted

技术标签:

【中文标题】nginx作为Websocket的代理发送短信【英文标题】:nginx as a proxy for Websocket to send text messages 【发布时间】:2014-08-08 14:07:36 【问题描述】:

我有一个在 vm 上运行的 websocket 服务(远程地址端口 8090)。使用 nginx 代理连接。 nginx配置如下:

server 
    listen 80;
    server_name _;

    location / 
        proxy_pass http://127.0.0.1:8090;
        proxy_pass_request_headers on;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    

从我的本地主机,我能够使用 ip 作为ws://111.11.1.1/websocket 连接到 websocket

但是,当我从本地主机或应用程序向远程 websocket websocket.sendTextMessage("Message") 发送消息时,我无法访问套接字..假设我的 nginx 配置有问题..

更新:通过添加更改 Nginx 的配置

http server..location/...

当我重新启动 Nginx 服务时,我得到一个错误

nginx emerg http directive is not allowed here in /default.conf:1

nginx: configuration file /nginx.conf test failed

任何建议都有帮助!

【问题讨论】:

【参考方案1】:

使用以下配置,它可能会有所帮助。

server 

listen 80;
server_name _;
location / 

        proxy_pass http://127.0.0.1:8090;
        proxy_redirect off;
        proxy_pass_request_headers on;

        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection Upgrade;

    

【讨论】:

以上是关于nginx作为Websocket的代理发送短信的主要内容,如果未能解决你的问题,请参考以下文章

websocket使用nginx代理后连接频繁打开和关闭

websocket使用nginx代理后连接频繁打开和关闭

使用 nginx 作为 websocket 连接的代理

websocket使用nginx作为反向代理

websocket集群情况下Nginx 代理出现的坑

Nginx 代理 + NodeJS WebSocket + >17KB 消息。没有交通。谁是罪魁祸首?