![Apache 位置指令跨越虚拟主机](https://linux22.com/image/623774/Apache%20%E4%BD%8D%E7%BD%AE%E6%8C%87%E4%BB%A4%E8%B7%A8%E8%B6%8A%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA.png)
我有一个简单的问题。
在我的环境中有一个像这样配置的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
在每种需要的情况下都可以使用它们。