gpt4 book ai didi

javascript - 在 3000 端口上使用 https 的 Node.js socket.io

转载 作者:太空宇宙 更新时间:2023-11-03 14:33:18 31 4
gpt4 key购买 nike

我想在 https 上运行 node.js 和 socket.io。我将来自 server.example.com 的请求重定向到 http://example.com:3000

<VirtualHost server.example.com:80>
ProxyPass / http://example.com:3000/
</VirtualHost>

这样我就可以访问 socket.io.js 文件

https://server.example.com/socket.io/socket.io.js

要测试 node.js 部分,请在控制台中打印 socket.id。

图片:http://prntscr.com/jq81bz

这是客户端,我用这种方式连接到socket.io。

图片:http://prntscr.com/jq830z

客户端连接node.js服务器并打印socket.id。但是浏览器控制台出现了很多错误。我认为客户端因为错误而想要重新连接。

图片:http://prntscr.com/jq82ib <- 服务器的控制台在左边

那些只为一个连接打印的日志。

最佳答案

您的 apache 配置必须更改如下。

<VirtualHost *:443>
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

DocumentRoot /var/www/errorPages

ErrorDocument 503 /503.html
ProxyPass /503.html !

ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/


RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]


</VirtualHost>

关于javascript - 在 3000 端口上使用 https 的 Node.js socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50666369/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com