Apache2 VirtualHost RedirectPermanent и конфликты прокси-серверов AJP

Оказывается, места, контролируемые ajp ProxyPass на моем сайте, обрабатываются до перенаправления VirtualHost, на что я обратил внимание, потому что Google проиндексировал более 25 тысяч страниц на ardownload.example.org -субдомен, который я никогда не использовал и не знаю, как они начали этот путь. У них также есть около 12 тысяч страниц с других поддоменов, которых «не существует». Я проследил проблему до того, что перенаправление не соблюдается, если оно попадает в прокси-местоположение ajp.

Желаемым результатом будет правильное перенаправление всех поддоменов на основной сайт с сохранением URL-адреса и строки запроса.

Текущий виртуальный хост с частично игнорируемым перенаправлением.:

<VirtualHost *:80>
    ServerName example.org
    ServerAlias *.example.org
    RedirectPermanent / https://www.example.org/
</VirtualHost>

Прокси-сервер текущего местоположения, вызывающий ошибку.

<Location /tomcatlocation/>
     ProxyPreserveHost on
     ProxyPass ajp://127.0.0.1:8009/tomcatlocation/ retry=0
     ProxyPassReverse ajp://127.0.0.1:8009/tomcatlocation/
</Location>

что-то вроде foo.example.org/tomcatlocation/или foo.example.org/tomcatlocationне будет перенаправлять, а усечение до foo.example.org/tomcatlocatioбудет правильно перенаправлять.

Мне не удалось найти информацию об этом. Спасибо.

apache2ctl -S:

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost example.org (/etc/apache2/sites-enabled/000-default.conf:10)
                 wild alias *.example.org
         port 80 namevhost example.net (/etc/apache2/sites-enabled/000-default.conf:15)

... other domains truncated...

*:443                  is a NameVirtualHost
         default server example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
         port 443 namevhost example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
                 alias www.example.org
         port 443 namevhost example.net (/etc/apache2/sites-enabled/default-ssl.conf:25)
                 alias www.example.net
         
... other domains truncated...


ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
0
задан 4 November 2021 в 18:32
1 ответ

Я переместил директиву Locationв :443 VirtualHost, на которую перенаправляет :80 VirtualHost, и она работает, как предполагалось, поскольку теперь она обрабатывается. после переадресации.

0
ответ дан 5 November 2021 в 01:38

Теги

Похожие вопросы