workerman连接httts的网站出现错误

出现错误的提示:WebSocket connection to 'wss://(网址):2346/' failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR
我觉得有可能是证书的问题

源码输入:ws = new WebSocket("wss://(网址):2346");

如果连接是http的网站就成功,用:ws = new WebSocket("ws://(网址):2346");去掉s就可以,这个我懂。

现在就是卡在连接https上,服务器是宝塔linux,服务器是阿里云服务器,nginx1.12,

是用php的TP5.0框架的,安装的是ThinkPHP官方开发的ThinkPHP5的workerman扩展

非常感谢!!

阅读 6.1k
2 个回答
✓ 已被采纳新手上路,请多包涵

server.....
location /websocket(这里随便命名)
{

proxy_pass http://0.0.0.0:2346;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;

}
# location / {} 站点的其它配置...

连接的时候 ws = new WebSocket("wss://(网址)/websocket(就是代理的名字)");
这个连接http和https的网站都可以。

用nginx配置个ssl代理就好了。

server {
  listen 4431;

  ssl on;
  ssl_certificate /etc/ssl/server.pem;
  ssl_certificate_key /etc/ssl/server.key;
  ssl_session_timeout 5m;
  ssl_session_cache shared:SSL:50m;
  ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

  location /
  {
    proxy_pass http://127.0.0.1:2346;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header X-Real-IP $remote_addr;
  }

  # location / {} 站点的其它配置...
}

ssl_certificate /etc/ssl/server.pem;
ssl_certificate_key /etc/ssl/server.key;
是证书相关文件

连的时候ws = new WebSocket("ws://(网址):4431");

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题