![根据请求标头启用 apache 选项](https://linux22.com/image/531829/%E6%A0%B9%E6%8D%AE%E8%AF%B7%E6%B1%82%E6%A0%87%E5%A4%B4%E5%90%AF%E7%94%A8%20apache%20%E9%80%89%E9%A1%B9.png)
如果存在 HTTP 标头,我想使用不同的 apache 选项。
例如:
<IfHeader "MyHeader">
SSLOptions +ExportCertData
SSLVerifyClient optional
</IfHeader>
“IfHeader”指令不存在。可以使用 SetEnvIf 或其他指令吗?
答案1
您是否尝试过将 URL 内部重写到可以按照您想要的方式配置的位置?
像这样:
RewriteCond %{HTTP:MyHeader} .+
RewriteRule (.*) $1/special [R,L]
<Location ~ "/special$">
(...)
</Location>
答案2
当标题存在时,通过请求不同的文件,我能够获得所需的行为:
RewriteCond %{HTTP:MyHeader} .+
RewriteRule .* index_symlink.php [QSA,L]
<Files "index_symlink.php">
SSLOptions +ExportCertData
SSLVerifyClient optional
</Files>
答案3
代理。
如果您收到以某种方式格式化的标头,请将它们定向到按您的意愿配置的另一个端口上的服务器,或 LAN 上的另一个服务器。
答案4
是否可以设置多个 http 服务器实例(具有不同的配置)作为后端并在前端使用 proxy_mod/redirect ?