加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

通过SSL使用nginx的PHP websockets

发布时间:2020-12-13 21:04:19 所属栏目:Nginx 来源:网络整理
导读:如何在nginx中使用PHP设置websockets? 我看过这个教程,但不能让它工作 https://www.sanwebe.com/2013/05/chat-using-websocket-php-socket 已将三个文件复制到www目录的根目录中 的index.php /jquery-3.1.1.js /websocket/server.php 在index.php中,我更改

如何在nginx中使用PHP设置websockets?

我看过这个教程,但不能让它工作

https://www.sanwebe.com/2013/05/chat-using-websocket-php-socket

已将三个文件复制到www目录的根目录中

的index.php
/jquery-3.1.1.js
/websocket/server.php

在index.php中,我更改了URI

var 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
您在nginx配置中使用端口9000,而PHP的内置Web服务器在端口8000上运行.

尝试将端口更改为8000并查看是否可以解决该问题.

proxy_pass http://domain.com:8000/websocket/;

编辑:

关于ERR_DISALLOWED_URL_SCHEME

自从?版本50以来,Chrome要求所有websocket通信都通过SSL.您可能需要启用此功能才能让您的应用在Chrome中运行.

你有两个选择:

>使用受信任的证书颁发机构颁发的证书
>手动将证书添加到受信任的证书根目录.您的Web应用程序不适用于未手动执行此操作的任何人

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读