Node.js Websocket apache代理存在ssl问题
所以我有一个使用https、websockets和socket.io(带node.js)的站点。websocket最初将尝试直接连接Node.js Websocket apache代理存在ssl问题,node.js,html,ssl,websocket,socket.io,Node.js,Html,Ssl,Websocket,Socket.io,所以我有一个使用https、websockets和socket.io(带node.js)的站点。websocket最初将尝试直接连接 var socket = io('https://' + socket_ip_addr + ":8443",{'forceNew': true, 'secure': true}); 这是我的socket.io代码(可以直接连接) 这工作得非常好,但有些用户可能会因为任何原因阻塞该随机端口,因此我有一个回退方法,尝试将端口443与apache代理一起使用 var
var socket = io('https://' + socket_ip_addr + ":8443",{'forceNew': true, 'secure': true});
这是我的socket.io代码(可以直接连接)
这工作得非常好,但有些用户可能会因为任何原因阻塞该随机端口,因此我有一个回退方法,尝试将端口443与apache代理一起使用
var socket = io('https://' + socket_ip_addr,{'forceNew': true, 'secure': true});
apache设置:
<VirtualHost *:443>
ServerName somewebsite.ca
ServerAlias somewebsite.ca
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile ../certs/ssl.crt
SSLCertificateKeyFile ../certs/ssl.key
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) wss://localhost:8443/$1 [P,L]
ProxyRequests off
ProxyPass /socket.io/ https://localhost:8443/socket.io/
ProxyPassReverse /socket.io/ https://localhost:8443/socket.io/
</VirtualHost>
ServerName somewebsite.ca
ServerAlias somewebsite.ca
DocumentRoot/var/www/html
斯伦金安
SSLCertificateFile../certs/ssl.crt
SSLCertificateKeyFile../certs/ssl.key
重新启动发动机
RewriteCond%{REQUEST_URI}^/socket.io[NC]
RewriteCond%{QUERY_STRING}transport=websocket[NC]
重写规则/(*))wss://localhost:8443/$1[P,L]
代理请求关闭
ProxyPass/socket.io/https://localhost:8443/socket.io/
ProxyPassReverse/socket.io/https://localhost:8443/socket.io/
在切换到https之前,我经常这样做,一切都很好。现在我正在尝试使用https和wss,这给了我很好的ol'错误500(内部服务器错误)
我真正的问题是:我如何开始尝试调试出了什么问题。我可以看一些标题吗?我可以在中间步骤的某个地方打印一些信息吗?
谢谢。好的。。我只是个哑巴。我检查了apache日志并添加了一些额外的命令,现在它可以正常工作了。其他事项包括:
SSLProxyEngine on //apache log told me about this
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
RequestHeader set Front-End-Https "On"
好的。。我只是个哑巴。我检查了apache日志并添加了一些额外的命令,现在它可以正常工作了。其他事项包括:
SSLProxyEngine on //apache log told me about this
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
RequestHeader set Front-End-Https "On"