【问题标题】:Sailsjs behind Apache2 proxy logging socket errorsSailsjs 背后的 Apache2 代理记录套接字错误
【发布时间】:2014-05-18 21:16:08
【问题描述】:

每个连接我都会得到以下日志行:

info: handshake authorized bQumvCf9KtcMVUoXcXG5 
warn: websocket connection invalid
info: transport end (undefined)

而 Apache2 错误日志同时显示了这一点:

[Sun Apr 06 15:09:16 2014] [error] [client 24.84.162.51] (20014)Internal error: proxy: error reading status line from remote server localhost:7000
[Sun Apr 06 15:09:16 2014] [error] [client 24.84.162.51] proxy: Error reading from remote server returned by /socket.io/1/websocket/bQumvCf9KtcMVUoXcXG5

我可以在 Sails 中做些什么来调整 socket.io 的行为吗?我的意思是,页面正在加载,事情似乎正在连接,但显然有些不愉快,当我的日志文件不是静默时,我总是很紧张。你不是吗?

【问题讨论】:

  • 也许this answer 关于通过 Apache 代理 Websockets 会有用吗?

标签: apache sockets sails.js mod-proxy


【解决方案1】:

如果您没有使用 socket.io,那么您可能不会注意到除了 socket.io 抱怨它无法连接之外的任何问题。

但是,代理 websocket 可能会很棘手。我从来没有用 apache 做过,但是 NGINX 1.3 增加了对 websockets 的支持。如果它对您或其他人有帮助,这里是一个 NGINX 配置,它将代理一个 websocket

server {
        listen 80;
        server_name www.example.com;

        location / {
                proxy_pass  http://myserver:8000/;
                proxy_http_version  1.1;
                proxy_redirect  off;

                proxy_set_header  X-Real-IP $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_set_header  Host  $http_host;
                proxy_set_header  X-NginX-Proxy  true;
                proxy_set_header  Upgrade  $http_upgrade;
                proxy_set_header  Connection  "Upgrade";
        }
}

【讨论】:

    猜你喜欢
    • 2014-04-01
    • 2018-09-19
    • 1970-01-01
    • 2011-01-14
    • 2014-01-03
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 2013-04-07
    相关资源
    最近更新 更多