使用 https 相对的也应该使用 wss ,使用 apache 将 ws 转为 wss ,在 apache 中建立一个新的配置,内容如下:
端口、域名、证书根据自己的情况修改。
Listen 20443 // 自定义端口需要打开侦听
<VirtualHost *:20443>
ServerName mysite.com
ServerAlias www.mysite.com
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
SSLCertificateFile /etc/apache2/ssl/mysite.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/mysite.com.key
SSLCertificateChainFile /etc/apache2/ssl/ca.cer
ProxyPass / http://localhost:3999/ // 如果来源是 WebSocket 应该改为 ws://
ProxyPassReverse / http://localhost:3999/ // 同上
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:3999%{REQUEST_URI} [P]
</VirtualHost>