我在获取适用于 CentOS 上运行的 Apache 的 SSL 证书时遇到了麻烦。这是我第一次尝试让 SSL 工作,所以我需要一些帮助。我读了很多资料,做了大量实验,尝试了不同的解决方案,但我还是卡住了
我有一个域名,以及 GoDaddy 为该域名提供的 SSL 证书。经过反复尝试,我相信证书现在已正确安装,但当我导航到我的域名时,Chrome 和 Firefox 都会出现错误。奇怪的是,它们给出的错误不同。
为了清楚起见,我正在导航到 www.mydomain.ca。
Chrome 出现“ERR_CERT_COMMON_NAME_INVALID”错误。Firefox 出现“SSL_ERROR_BAD_CERT_DOMAIN”错误。
我不确定通用名称问题,但我很确定 bad_cert_domain 发生的原因是因为 httpd 没有用域名替换地址栏中的 IP 地址。我认为这是一个重写规则。我已将其添加到我的 httpd.conf 文件的末尾。如果有帮助,我可以包含更多文件。我不太了解重写规则,是从教程中抄袭的。我尝试了许多不同的版本,包括有一个单独的 sites-available 文件夹,其中包含 conf 文件,但结果是一样的。
<VirtualHost *:443>
ServerName www.MYDOMAIN.ca
ServerAlias MYDOMAIN.ca
DocumentRoot /var/www/html/
RewriteEngine On
RewriteCond %(HTTP_HOST) !^MYDOMAIN.ca$
RewriteRule /.* https://MYDOMAIN.ca/ [R]
</VirtualHost>
我的问题是,为什么 httpd 没有用域名替换 IP 地址,并且为什么 Chrome 会报告 Common Name 错误?
谢谢
答案1
找到答案了。问题是我的域名是在 Google Domains 注册的,而我在不知情的情况下将域名设置为“转发”到我的网络服务器 IP。当 ping 或对域名进行 DNS 查找时,我会得到 Google Hosting Service 的 IP 地址,而不是我的 IP 地址。所以 Steffen 是对的,我正在执行重定向,我只是不知道而已。
为了解决这个问题,我关闭了转发选项,并在 DNS 设置中创建了 A 记录。现在运行正常。mydomain.ca 重定向到我的网站的 http 版本,并且https://mydomain.ca重定向到 HTTPS 版本,没有任何 SSL 错误。