Apache 位置指令跨越虚拟主机

Apache 位置指令跨越虚拟主机

我有一个简单的问题。

在我的环境中有一个像这样配置的apache。

<VirtualHost 1.1.1.1:80>
        ServerAdmin [email protected]
        DocumentRoot /apps/docroot/
        ServerName server.mydomain.tld
        <Location /report >
                ProxyPass http://report.mydomain.tld/
                ProxyPassReverse http://report.mydomain.tld/
        </Location>
</VirtualHost>

<VirtualHost 1.1.11:443>
         ServerAdmin [email protected]
        DocumentRoot /apps/docroot/
        ServerName server.mydomain.tld
        SSLEngine on
        SSLCipherSuite !EXP1024-RC4-SHA:!EXP1024-DES-CBC-SHA:ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
        SSLCertificateFile /path/to/crt.crt
        SSLCertificateKeyFile /path/to/crt.key
        SSLCACertificateFile /path/to/CA.crt
</VirtualHost>

问题是,代理设置是否适用于 SSL vhost?(例如,如果我使用 https 访问 /report,请求是否仍会被代理)..我知道如果我使用 http,它将被代理。

-感谢 Vijay

答案1

不会。一个虚拟主机内的指令仅适用于该主机。

如果你有一组想要在多个 vhost/location/directory 上下文中重复应用的指令,最好的方法是将它们放入单独的文件中,然后Include在每种需要的情况下都可以使用它们。

相关内容