apache - SSL 证书(让我们加密)不适用于所有服务器名称

标签 apache ssl mod-rewrite

我正在我的网站 abcd.xyz 上工作并在其上实现了 ssl。 该网站在 chrome 上使用 ssl 运行良好,但在 safari 和 chromium(linux) 浏览器中存在证书问题

我已将以下链接重定向到 fhttps://abcd.xyz,它们运行良好
www.abcd.xyz
abcd.xyz
fhttp://www.abcd.xyz
fhttps://abcd.xyz

但以下内容在 safari 和 chromium 中不起作用 (显示无效证书问题)
http://abcd.xyz
https://www.abcd.xyz

<VirtualHost *:80>
......
......
     ServerName www.abcd.xyz

RewriteEngine on
RewriteCond %{SERVER_NAME} =abcd.xyz [OR]
RewriteCond %{SERVER_NAME} =www.abcd.xyz [OR] 
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTPS} on
RewriteCond %{SERVER_NAME} =www.abcd.xyz
RewriteRule ^ https://abcd.xyz%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

最佳答案

如果将所有网站打包到同一个Apache虚拟主机中,则需要将所有涉及同一个证书的域名捆绑在一起。我不知道 Let's encrypt 是否提供这样的功能,但您的证书仅对 zorion.io 有效。

最简单的解决方法是创建与您托管的子域一样多的虚拟主机。在每个端口中,指定适当的端口(我可以看到您目前期望端口 80 上的 HTTPS,这在技术上是可行的,但感觉完全错误)和 SSLCertificateFile 指令中的正确证书文件。不过请注意,除非您为每台主机提供唯一的 IP/端口组合,否则您可能会遇到旧版浏览器(旧版 IE 和一些早期移动浏览器)的问题。

关于apache - SSL 证书(让我们加密)不适用于所有服务器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44114069/

相关文章:

javascript - 使用 XAMPP 的 AngularJS 找不到页面

c# - 是否有 SSLStream 以外的 C# 安全套接字?

.htaccess - mod_rewrite/category.htm 成/category

java - 无法将证书链加载到 Java keystore

.htaccess - 需要 mod_rewrite URL 信息

apache - 如何进行 mod_rewrite 重定向到相对 URL

apache - mod_rewrite 规则附加 index.html 如果不存在

apache - 重定向和查询字符串的问题

regex - Apache mod_rewrite 仅当请求不是以 '/THEMES/' 开头时

python - 无法获得在 Tornado 中工作的 SSL 客户端证书