主要做了以下几点
1.网站配置
location /wx_user {
proxy_pass http://127.0.0.1:8189;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “Upgrade”;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 60s;
proxy_connect_timeout 60s;
}
2.运行环境-守护进程,
网站目录 正常启动没有报错
3.运行环境-端口配置
8189到8189 端口外部访问
4.终端访问
终端访问telnet 127.0.0.1 8189
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
HTTP/1.0 400 Bad Request
Server: workerman
400 Bad Request
workermanConnection closed by foreign host.
应当是正常的
5.网站错误日志
*4981 upstream prematurely closed connection while reading response header from upstream, client: 101.31.43.42, server: guang.weibuyun.com, request: "GET /wx_user/ HTTP/1.1", upstream:
终端连接提示
ConnectFailed: Error: Server responded with a non-101 status: 502 Bad Gateway
Response Headers Follow:
server: openresty
date: Fri, 05 Jun 2026 07:52:30 GMT
content-type: text/html
content-length: 154
connection: keep-alive
应当是到openresty的转发了,但是下一步不正常
我另一个环境配置的一样就没有这问题,这个就不行,都比对了,实现找不出来原因
curl -i -N \
-H "Connection: Upgrade" \
-H "Upgrade: websocket" \
-H "Sec-WebSocket-Version: 13" \
-H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" \
http://127.0.0.1:8189/wx_user/
curl -i -N \
-H "Connection: Upgrade" \
-H "Upgrade: websocket" \
-H "Sec-WebSocket-Version: 13" \
-H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" \
http://127.0.0.1:8189/
分别试一下这两个
curl: (52) Empty reply from server
curl -i -N
-H “Connection: Upgrade”
-H “Upgrade: websocket”
-H “Sec-WebSocket-Version: 13”
-H “Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==”
http://127.0.0.1:8189/
curl: (52) Empty reply from server
你 Workerman 有问题 排查一下吧
是用 websocket://0.0.0.0:8189 这种方式启动的吗
正常启动的界面
Workerman[artisan] received signal SIGTERM
Workerman[artisan] stopping
Workerman[artisan] has been stopped
Workerman[artisan] start in DEBUG mode
----------------------------------------------- WORKERMAN -----------------------------------------------
Workerman/5.1.3 PHP/8.5.0 (JIT off) Linux/6.8.0-124-generic
------------------------------------------------ WORKERS ------------------------------------------------
event-loop proto user worker listen count state
select tcp www-data WxUser websocket://0.0.0.0:8189 1 [OK]
Press Ctrl+C to stop. Start success.
容器端口映射了内外一样,运行环境 php -端口配置
8189到8189 端口外部访问
CONTAINER_NAME=“php85”
CONTAINER_PACKAGE_URL=“https://mirrors.ustc.edu.cn”
CONTAINER_PORT_0=8188
CONTAINER_PORT_1=8088
CONTAINER_PORT_2=8585
CONTAINER_PORT_3=8189
HOST_IP_0=“”
HOST_IP_1=“”
HOST_IP_2=“127.0.0.1”
HOST_IP_3=“”
HOST_PORT_0=8188
HOST_PORT_1=8088
HOST_PORT_2=8585
HOST_PORT_3=8189
IMAGE_NAME=“1panel-php-fpm:8.5.0”
PANEL_APP_PORT_HTTP=9005
PANEL_WEBSITE_DIR=“/opt/1panel/www”
PHP_EXTENSIONS=“redis,opcache,mcrypt,pdo_mysql,gd,curl,imagick,exif,zip,bcmath,pcntl”
PHP_VERSION=“8.5.0”
TZ=“Asia/Shanghai”
一样的
www-data@95c6e9b31b6a:/www$ curl -i -N
-H “Connection: Upgrade”
-H “Upgrade: websocket”
-H “Sec-WebSocket-Version: 13”
-H “Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==”
http://127.0.0.1:8189/wx_user/
curl: (52) Empty reply from server
www-data@95c6e9b31b6a:/www$ curl -i -N
-H “Connection: Upgrade”
-H “Upgrade: websocket”
-H “Sec-WebSocket-Version: 13”
-H “Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==”
http://127.0.0.1:8189/
curl: (52) Empty reply from server
www-data@95c6e9b31b6a:/www$
进程守护里 显示正常啊 已启动
我在环境终端里面也正常