小编tre*_*ble的帖子

Websockets 在 iOS 和 Safari 上不起作用 - OSSStatus 错误 9837

我正在开发一个使用 socket.io 进行匹配的聊天应用程序。使用 Windows 机器和 Android 设备的客户端能够建立 websocket 连接。但是,在桌面和 iOS 上使用 Safari 的客户端无法同时使用 Safari 和 Chrome 进行连接。我的应用程序从 socket.io 客户端 -> NGINX 代理 -> Node.js 套接字服务器

我已经能够通过 Mac 检查 iOS 浏览器来追踪错误,并且显示此错误 [Error] WebSocket network error: The operation couldn’t be completed. (OSStatus error -9836.) 在此处输入图片说明

在对错误进行了一些研究之后,我发现 Safari 在创建安全的 websocket 连接时很挑剔。我目前正在使用 CloudFlare 颁发的证书和密钥,该证书和密钥位于我的 NGINX 配置中。我还尝试将凭据添加到我的节点服务器,但同样的问题仍然存在。这是 NGINX 服务器块:

server {
  listen 80;
  listen 443;

  ssl                   on;
  ssl_certificate       /var/site-certificates/website.com/cloudflare.website.com.pem;
  ssl_certificate_key   /var/site-certificates/website.com/cloudflare.website.com.key;
  ssl_protocols TLSv1.3;

  server_name chat0.website.com;

  location / {
    proxy_http_version 1.1;
    # proxy_ssl_certificate     /var/site-certificates/website.com/cloudflare.website.com.pem; //tried with and …
Run Code Online (Sandbox Code Playgroud)

safari ssl websocket ios socket.io

11
推荐指数
2
解决办法
7875
查看次数

标签 统计

ios ×1

safari ×1

socket.io ×1

ssl ×1

websocket ×1