![连接到 websocket 时,nginx 日志记录(111:连接被拒绝)](https://linux22.com/image/787714/%E8%BF%9E%E6%8E%A5%E5%88%B0%20websocket%20%E6%97%B6%EF%BC%8Cnginx%20%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%EF%BC%88111%EF%BC%9A%E8%BF%9E%E6%8E%A5%E8%A2%AB%E6%8B%92%E7%BB%9D%EF%BC%89.png)
因此,我在本地网络上有一个小型 Raspberry Pi,用于托管服务器。这是一个相当简单的设置,nginx 和我的 npm 托管服务器使用 docker-compose 在容器中建立。
我的 npm 服务器监听端口 30000。
这是我的 nginx 设置
server {
# Listen on port 80
listen 80;
listen [::]:80;
# Sets the Max Upload size to 100 MB
client_max_body_size 100M;
# Enable compression
gzip on;
gzip_disable "MSIE [1-6]\.";
gzip_comp_level 6;
gzip_min_length 1024;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
<a bunch of gzip types>
# Proxy Requests to server
location / {
# Set proxy headers
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# These are important to support WebSockets
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
# Make sure to set your port number
proxy_pass http://npmServer:30000;
}
}
当我提供静态内容时,我没有遇到任何问题。但是当我尝试连接时ws://<PiIP>/socket.io/...
,浏览器终端中出现连接失败消息,当我在 docker compose 中检查日志时,我看到一堆connect() failed (111: Connection Refused)
错误。
有没有办法以某种方式添加 socket.io 位置?我甚至与一些使用完全相同设置托管相同基于 npm 的项目的人交谈过,他们也不知道发生了什么。