Оказывается, места, контролируемые ajp ProxyPass на моем сайте, обрабатываются до перенаправления VirtualHost, которое привлекло мое внимание, потому что Google проиндексировал более 25 тысяч страниц на ardownload.example.org — субдомен, который я никогда не использовал и не знаю, как они начали этот путь. У них также есть около 12 тысяч страниц с других поддоменов, которых «не существует». Я проследил проблему до того, что перенаправление не соблюдается, если оно попадает в прокси-местоположение ajp.
Желаемым результатом будет правильное перенаправление всех субдоменов на основной сайт с сохранением URL-адреса и строки запроса.
Текущий VirtualHost с частично игнорируемым перенаправлением:
<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:
Конфигурация виртуального хоста:
*:80 — это NameVirtualHost
сервер по умолчанию www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
порт 80 namevhost www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
порт 80 namevhost example.org (/etc/apache2/sites-enabled/000-default.conf:10)
дикий псевдоним *.example.org
порт 80 namevhost example.net (/etc/apache2/sites-enabled/000-default.conf:15)
... другие домены усечены ...
*:443 — это NameVirtualHost
сервер по умолчанию example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
порт 443 namevhost example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
псевдоним www.example.org
порт 443 namevhost example.net (/etc/apache2/sites-enabled/default-ssl.conf:25)
псевдоним www.example.net
... другие домены усечены ...
Корневой сервер: "/etc/apache2"
Основной корневой документ: "/var/www/html"
Основной журнал ошибок: "/var/log/apache2/error.log"
Мьютекс по умолчанию: dir="/var/lock/apache2" механизм=fcntl
Mutex mpm-accept: using_defaults
Обратный вызов сторожевого таймера Mutex: using_defaults
Карта перезаписи мьютекса: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Сшивание Mutex ssl: using_defaults
Прокси-сервер Mutex: using_defaults
SSL-кэш Mutex: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Определить: DUMP_VHOSTS
Определить: DUMP_RUN_CFG
Пользователь: name="www-data" id=33
Группа: name="www-data" id=33