Почему Apache HTTPD объединяет URL веб-сокета в движке перезаписи? - PullRequest
0 голосов
/ 03 сентября 2018

Я борюсь с механизмом переписывания Apache, особенно с перезаписью websocket.

У меня есть эта конфигурация в моем httpd.conf:

    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
    [...]
    <IfModule mod_rewrite.c>
            LogLevel rewrite:trace8
            RewriteEngine On
            RewriteCond %{HTTP:UPGRADE} ^(.*)WebSocket(.*)$ [NC]
            RewriteCond %{HTTP:CONNECTION} ^(.*)Upgrade(.*)$ [NC]
            RewriteRule .* ws://host_to_redirect%{REQUEST_URI} [P]
    </IfModule>

Но эта конфигурация, похоже, не работает, я не вижу логи URL-вызовов в моем host_to_redirect . Тем не менее, я вижу это переписать журналы в Apache:

[Пт, 31 августа 10: 21: 35.170174 2018] [переписать: trace1] [pid 27194] mod_rewrite.c (468): [клиент 160.35.1.22:54354] 160.35.1.22 - - [host_apache_httpd / sid # 7f150fe11a70] [rid # 7f15105ea430 / initial] одобрение прокси-запроса на прокси: https://host_apache_httpd/ws://host_to_redirect/websocket/ack/297/051schka/websocket [OK]

Apache объединяет хост Apache и хост назначения. Вроде Apache не понимал протокол websocket. Но модуль wstunnel полностью активирован ...

У вас есть идеи? :) Спасибо!

Характеристики :

  • Centos6
  • Apache 2.4.6

1 Ответ

0 голосов
/ 14 февраля 2019

Наконец-то я нашел ответ!

Это была известная проблема в Apache: https://bz.apache.org/bugzilla/show_bug.cgi?id=55598

Вам нужно обновить Apache HTTPD, чтобы он заработал!

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