mod_dir 在负载均衡器后面重定向到错误端口

mod_dir 在负载均衡器后面重定向到错误端口

当缺少尾部斜杠时,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这是最重要的一条线。

相关内容