Прокси-сервер веб-сокета Apache для порта, отличного от «Location /» - PullRequest
0 голосов
/ 11 июня 2019

У меня есть доменное имя сервера: " myproject.domain ".В файле apache .conf я определил прокси для местоположения / для прослушивания на порту 5551. Мой сервер веб-сокетов находится на той же машине, но на порту 5552. Мой клиент (веб-браузер) подключается к веб-сокету на домене " myproject.domain".

Я переписал ws на ws: //127.0.0.1: 5552, но веб-браузер выдает статус 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]

Короче говоря, я хочу определить веб-сокеты на другом порту, отличном от порта основного приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...