我可以将 WebSocket 从 ws 更改为 wss 吗? (000网络主机)

Can I change WebSocket from ws to wss? (000webhost)

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

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

我用来访问 php 文件的 link 使用的是 https 而不是 http。我对这些领域还是陌生的,我想知道我可以将 WebSocket 端点更改为 wss 而不是 ws 吗?我需要付费计划来解决这个问题吗?我确实看到单一主机计划确实提供免费的 SSL 证书。请帮助我,我愿意接受任何suggestion/advice,谢谢。

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

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

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

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