Apache Websocket代理到与“ Location /”不同的端口

时间:2019-06-11 10:11:09

标签: apache

我有服务器的域名:“ 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。

0 个答案:

没有答案