Apache-2.4
Apache2 VirtualHost RedirectPermanent 和 AJP 代理衝突
事實證明,我的網站上由 ajp ProxyPass 控制的位置正在 VirtualHost 重定向之前進行處理,這引起了我的注意,因為Google已經在 ardownload.example.org 索引了 25k+ 頁面 - 我從未使用過並且不知道如何使用的子域他們開始走這條路。他們還有大約 12k 來自其他“不存在”的子域的頁面。我將問題追溯到這樣一個事實,即如果重定向到達 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
我將
Location
指令移到VirtualHost
:80VirtualHost
重定向到的 :443 內,並且它按預期工作,因為它現在在重定向後處理。