小编axe*_*ink的帖子

Nginx WebSocket 反向代理保持返回 200 而不是 101

我目前正在尝试在我的个人服务器上运行hack.chat

长话短说,它由两台服务器组成。第一个是一个简单的 httpd 服务器,提供 javascript 和 CSS。第二个,聊天系统,是一个 node.js 服务器,javascript 使用 websocket 连接到它。问题来了。

我希望全部使用端口 80,在单个 IP 上使用不同的域名,在 Nginx 中使用单独的服务器块。

我遵循了 Nginx websocket 文档,但这不起作用。当 websocket 尝试连接时,它总是得到 200 返回码,而如果我理解得很好,它应该得到 101(切换协议)。

我的 Nginx 版本是 1.8.0,我的服务器在 gentoo 和 linux 4.0.5 上运行

这是相关 nginx conf 文件的转储:

nginx.conf:

user nginx nginx;
worker_processes 1;

error_log /var/log/nginx/error_log info;

events {
    worker_connections 1024;
    use epoll;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main
        '$remote_addr - $remote_user [$time_local] '
        '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" ' …
Run Code Online (Sandbox Code Playgroud)

nginx reverse-proxy node.js websocket

8
推荐指数
1
解决办法
7151
查看次数

标签 统计

nginx ×1

node.js ×1

reverse-proxy ×1

websocket ×1