【问题标题】:Can I change WebSocket from ws to wss? (000webhost)我可以将 WebSocket 从 ws 更改为 wss 吗? (000webhost)
【发布时间】:2021-04-08 04:50:07
【问题描述】:

我已经建立了一个网站作为仪表板(使用 000webhost),通过 php 更改 mySQL 数据库中的数据,现在运行良好。之后,我在 itch.io 上上传了一个 Unity WebGL 构建,它运行良好,直到它需要通过 php 从数据库中获取数据。当我打算通过访问 000webhost 服务器中存储的 php 文件来获取数据时,我在访问网站的 Web 控制台中显示了以下错误。

混合内容:“https://.itch.io/”处的页面通过 HTTPS 加载,但尝试连接到不安全的 WebSocket 端点“ws://:54998/”。此请求已被阻止;此端点必须在 WSS 上可用

我用来访问 php 文件的链接使用的是 https 而不是 http。我还是这些领域的新手,我想知道我可以将 WebSocket 端点更改为 wss 而不是 ws 吗?我需要付费计划来解决这个问题吗?我确实看到 Single Hosting 计划确实提供了免费的 SSL 证书。请帮助我,我愿意接受任何建议/建议,谢谢。

【问题讨论】:

    标签: php ssl websocket https unity-webgl


    【解决方案1】:

    使用socket.io。大部分问题都解决了,不用多做。

    var socket = io.connect('https://www...', {secure: true});
    

    【讨论】:

    • 这并不能解决问题,因为问题是服务器端的。
    【解决方案2】:

    Websocket 服务器本身需要设置 SSL 证书。如果没有,您需要像 nginx 或 apache 这样的反向代理来处理 SSL 并转发到未加密的 ws:// websocket。

    无论如何,websocket 也应该在默认端口 443/80 上运行,因为许多防火墙出于安全原因阻止了非默认端口。在这种情况下,如果您没有 websocket 服务器的专用 IP,您将需要反向代理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      相关资源
      最近更新 更多