如何在nginx中使用PHP设置WebSockets?
我看过这个教程,但无法使其工作。
在nginx中,我添加了这个。
聊天室位于
如果通过浏览器请求
我看过这个教程,但无法使其工作。
https://www.sanwebe.com/2013/05/chat-using-websocket-php-socket
已将这三个文件复制到www目录的根目录中
/index.php
/jquery-3.1.1.js
/websocket/server.php
index.php
中,我已更改了 URIvar wsUri = "wss://domain.com/websocket/server.php";
在nginx中,我添加了这个。
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
location /websocket/ {
proxy_pass https://domain.com:9000/websocket/server.php;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
}
http://nginx.org/en/docs/http/websocket.html
启动 WebSocket 服务器
php -q /var/www/websocket/server.php
聊天室位于
https://domain.com/chat.php
,可以加载但在聊天窗口中出现错误:错误发生-连接关闭
还尝试通过此工具连接,但出现以下错误。
http://www.websocket.org/echo.html
ERROR: undefined
DISCONNECTED
如果通过浏览器请求
wss://domain.com/websocket/server.php
ERR_DISALLOWED_URL_SCHEME
tcpdump
窃听客户端和 nginx 以及 nginx 和 php 之间的流量,以检查设置在网络层面上是否按预期工作。 - Tom Regner