如果存在 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 ?