我有两个域 example1.com 和 example2.com,在同一 IP 12.345.678.90 上运行。
现在我想完全禁用通过 12.345.678.90 的 https 访问。
我尝试这样做(紧凑的代码,没有花哨的东西)
<VirtualHost *:443>
SSLEngine off
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
ServerName example1.com
DocumentRoot /var/www/html/example1
SSLCertificateFile /etc/.../fullchain.pem
SSLCertificateKeyFile /etc/.../privkey.pem
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
ServerName example2.com
DocumentRoot /var/www/html/example2
SSLCertificateFile /etc/.../fullchain.pem
SSLCertificateKeyFile /etc/.../privkey.pem
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
现在,当我禁用默认情况下捕获所有内容的第一个块时,两个示例站点都可以工作。但是,如果我启用它,就没有任何作用了。实际上,这只是为 443 复制的端口 80 解决方案。这似乎是 SSL 特定问题(编码的请求数据)。
如何阻止 https 上的“IP 访问”?或者,配置我的设置的常用方法是什么?
背景是:创建基于 IP 的 SSL 证书甚至没有标准化,因此允许这种请求是没有意义的。