如何解决Apache2拒绝套接字连接
我最近从 CentOS 过渡到 Debian 10,现在我似乎无法在我的网站上为我的 websockets 设置正确的 Apache 配置。 我的虚拟主机看起来像这样:
<VirtualHost *:80>
ServerName xxxxxx.com
DocumentRoot /var/www/html/dc
ErrorLog /var/www/html/dc/error80.log
ProxyRequests on
ProxyPass / http://xxx.xxx.xxx.xxx:33030/ retry=0
ProxyPassReverse / http://xxx.xxx.xxx.xxx:33030/ retry=0
</VirtualHost>
<VirtualHost *:443>
ServerName xxxxx.com
DocumentRoot /var/www/html/dc
ErrorLog /var/www/html/dc/error443.log
SSLEngine on
SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
SSLCertificateFile "/var/www/html/dc/dc.crt"
SSLCertificateKeyFile "/var/www/html/dc/dc.key"
ProxyRequests on
ProxyPass / http://xxx.xxx.xxx.xxx:33030/ retry=0
ProxyPassReverse / http://xxx.xxx.xxx.xxx:33030/ retry=0
</VirtualHost>
我的节点应用程序是非常简单的 socket.io 实现:
io = require('socket.io')()
io.on('connection',socket => {
console.log(socket.id);
PlayerController.init(socket);
});
我的客户代码:
const Socket = io();
Socket.on('connect',() => {
console.log(Socket.id);
});
这个完全相同的设置在我的旧服务器上有效,但在这个 ditro 的 Apache 上无效。在错误日志中,我得到以下信息:
[proxy:error] [pid 16337] (111)Connection refused: AH00957: HTTP: attempt to connect to xxx.xxx.xxx.xxx:33030 (xxx.xxx.xxx.xxx) failed
[Fri Feb 12 08:55:05.663745 2021] [proxy_http:error] [pid 16337] [client xxx.xx.xx.xxx:45566] AH01114: HTTP: failed to make connection to backend: xxx.xxx.xxx.xxx
页面运行良好,只是我的 websockets 无法连接。我已经在互联网上搜索了几天,并尝试了 VirtualHost 设置以及客户端和服务器 socket.io 设置的多种组合,但无济于事。我在这里错过了什么?
编辑 - 调试日志:
[Wed Feb 17 22:55:12.714297 2021] [ssl:info] [pid 12748] [client xx.xx.xxx.xxx:39998] AH01964: Connection to child 16 established (server xxxxxxx.com:443)
[Wed Feb 17 22:55:12.714949 2021] [ssl:debug] [pid 12748] ssl_engine_kernel.c(2319): [client xx.xx.xxx.xxx:39998] AH02043: SSL virtual host for servername xxxxxxx.com found[Wed Feb 17 22:55:12.714972 2021] [ssl:debug] [pid 12748] ssl_engine_kernel.c(2319): [client xx.xx.xxx.xxx:39998] AH02043: SSL virtual host for servername xxxxxxx.com found[Wed Feb 17 22:55:12.714978 2021] [core:debug] [pid 12748] protocol.c(2314): [client xx.xx.xxx.xxx:39998] AH03155: select protocol from,choices=h2,http/1.1 for server xxxxxxx.com
[Wed Feb 17 22:55:12.797865 2021] [ssl:debug] [pid 12748] ssl_engine_kernel.c(2235): [client xx.xx.xxx.xxx:39998] AH02041: Protocol: TLSv1.3,Cipher: TLS_AES_128_GCM_SHA256 (128/128 bits)
[Wed Feb 17 22:55:12.798027 2021] [socache_shmcb:debug] [pid 12748] mod_socache_shmcb.c(495): AH00831: socache_shmcb_store (0xbe -> subcache 30)
[Wed Feb 17 22:55:12.798054 2021] [socache_shmcb:debug] [pid 12748] mod_socache_shmcb.c(849): AH00847: insert happened at idx=1,data=(205:237)
[Wed Feb 17 22:55:12.798063 2021] [socache_shmcb:debug] [pid 12748] mod_socache_shmcb.c(854): AH00848: finished insert,subcache: idx_pos/idx_used=0/2,data_pos/data_used=0/409
[Wed Feb 17 22:55:12.798070 2021] [socache_shmcb:debug] [pid 12748] mod_socache_shmcb.c(516): AH00834: leaving socache_shmcb_store successfully
[Wed Feb 17 22:55:12.798730 2021] [ssl:debug] [pid 12748] ssl_engine_kernel.c(383): [client xx.xx.xxx.xxx:39998] AH02034: Initial (No.1) HTTPS request received for child 16 (server xxxxxxx.com:443),referer: https://xxxxxxx.com/game/
[Wed Feb 17 22:55:12.798770 2021] [authz_core:debug] [pid 12748] mod_authz_core.c(846): [client xx.xx.xxx.xxx:39998] AH01628: authorization result: granted (no directives),referer: https://xxxxxxx.com/game/
[Wed Feb 17 22:55:12.798819 2021] [proxy:debug] [pid 12748] mod_proxy.c(1249): [client xx.xx.xxx.xxx:39998] AH01143: Running scheme http handler (attempt 0),referer: https://xxxxxxx.com/game/
[Wed Feb 17 22:55:12.798838 2021] [proxy:debug] [pid 12748] proxy_util.c(2316): AH00942: HTTP: has acquired connection for (localhost)
[Wed Feb 17 22:55:12.798890 2021] [proxy:debug] [pid 12748] proxy_util.c(2369): [client xx.xx.xxx.xxx:39998] AH00944: connecting http://localhost:33030/socket.io/?EIO=4&transport=polling&t=NUpHlmw to localhost:33030,referer: https://xxxxxxx.com/game/
[Wed Feb 17 22:55:12.798900 2021] [proxy:debug] [pid 12748] proxy_util.c(2578): [client xx.xx.xxx.xxx:39998] AH00947: connected /socket.io/?EIO=4&transport=polling&t=NUpHlmw to localhost:33030,referer: https://xxxxxxx.com/game/
[Wed Feb 17 22:55:12.799023 2021] [proxy:debug] [pid 12748] proxy_util.c(2879): AH00951: HTTP: backend socket is disconnected.
[Wed Feb 17 22:55:12.799105 2021] [proxy:debug] [pid 12748] proxy_util.c(3038): (111)Connection refused: AH00957: HTTP: attempt to connect to [::1]:33030 (localhost) failed
[Wed Feb 17 22:55:12.799200 2021] [proxy:error] [pid 12748] (111)Connection refused: AH00957: HTTP: attempt to connect to 127.0.0.1:33030 (localhost) failed
[Wed Feb 17 22:55:12.799212 2021] [proxy_http:error] [pid 12748] [client xx.xx.xxx.xxx:39998] AH01114: HTTP: failed to make connection to backend: localhost,referer: https://xxxxxxx.com/game/
[Wed Feb 17 22:55:12.799217 2021] [proxy:debug] [pid 12748] proxy_util.c(2331): AH00943: HTTP: has released connection for (localhost)
[Wed Feb 17 22:55:12.799351 2021] [ssl:debug] [pid 12748] ssl_engine_io.c(1106): [client xx.xx.xxx.xxx:39998] AH02001: Connection closed to child 16 with standard shutdown (server xxxxxxx.com:443)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。