Jef*_*eff 7 ssl virtualhost sni apache-2.2
我希望标题很清楚。
如何防止对未启用 ssl 的虚拟主机的 HTTPS 请求转到第一个启用 ssl 的虚拟主机(设置为 Apache-SNI)。
例如,使用我下面的缩写配置,https://example.com
Apache 在启用了 ssl 的 vhost 上处理对(非 ssl vhost)的请求https://example.org
。我想禁用该行为并可能使用适当的 HTTP 响应代码进行回复(不确定那是什么)。
它甚至可能不可能,但我想我会问。
# I actually have a SNI setup, but it's not demonstrated here.
# I don't think it's relevant in this situation.
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
ServerName example.org
</VirtualHost>
<VirtualHost *:443>
ServerName example.org
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
编辑:也许是第一个 ssl-vhost 中的 mod_rewrite 规则?
正如 Apache 文档所说,当没有ServerName
匹配 Web 请求中给出的主机名时,将使用第一个VirtualHost
匹配的给定 IP/端口组合。
因此,您只需要提供一个不提供任何内容或您选择的内容的默认虚拟主机,并且它必须是 Apache 在加载其配置时解析的第一个虚拟主机。
如果您根本不希望通过 https 访问特定主机,请将它们放在一个单独的 IP 地址上,在该地址上您已将 Apache 配置为不在Listen
端口 443 上。
归档时间: |
|
查看次数: |
3258 次 |
最近记录: |