当缺少尾部斜杠时,mod_dir 会发生重定向问题。我们的设置使用一个负载平衡器来监听端口 80,并有多个 Web 服务器监听非标准端口(如 8081)。
当 mod_dir 发出重定向时,它会尝试重定向到 domain.com:8081/path/,这当然会超时。
我尝试设置 UseCanonicalName On 并指定 ServerName 以包含端口,如下所示:domain.com:80,但似乎没有任何效果。
我的虚拟主机如下:
Listen 8081
<VirtualHost *:8081>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain_static
UseCanonicalName Off
ServerName domain.com:80
<Directory /var/www/domain_static>
Options -Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/static-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/static-access.log combined
</VirtualHost>
我该怎么做才能解决这种不正确的重定向行为?
答案1
尝试如下操作:
ServerName domain.com
UseCanonicalName On
UseCanonicalPhysicalPort Off
我认为UseCanonicalPhysicalPort Off
这是最重要的一条线。