我有服务器的域名:“ myproject.domain ”。在apache .conf 文件中,我定义了位置代理以侦听端口5551。我的Web套接字服务器位于同一台计算机上,但在端口5552上。我的客户端(网络浏览器)连接到域上的Web套接字“ myproject.domain ”。
我确实将ws重写为ws://127.0.0.1:5552,但是Web浏览器的状态为400
<VirtualHost *:443>
ServerName xxxxxxx
ServerAlias xxxxxx
DocumentRoot /var/www/xxxxxxxx
SSLProxyEngine On
SSLEngine on
SSLCertificateFile /etc/ssl/certs/publicdefaultht.pem
SSLCertificateKeyFile /etc/ssl/private/privatedefaultht.key
<Directory /var/www/xxxxxxx/>
Options -Indexes +FollowSymlinks
AllowOverride all
Require all granted
</Directory>
<Location / >
ProxyPass http://127.0.0.1:5551/
ProxyPassReverse http://127.0.0.1:5551/
</Location>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:5552/$1 [P,L]
长话短说,我想在与主应用程序端口不同的另一个端口上定义websocket。