证书不包含与服务器名称匹配的 ID [关闭]
Posted
技术标签:
【中文标题】证书不包含与服务器名称匹配的 ID [关闭]【英文标题】:Certificate does NOT include an ID which matches the server name [closed] 【发布时间】:2014-10-13 10:24:56 【问题描述】:我正在使用 XAMPP 并启动了 Apache,但我无法通过 HTTPS 访问我的网站。
我收到以下错误;
[2014 年 8 月 20 日星期三 08:05:33.208723] [ssl:warn] [pid 3784:tid 256] AH01909:为 www.example.com:443 配置的 RSA 证书不包含与服务器名称匹配的 ID [2014 年 8 月 20 日星期三 08:05:33.746774] [ssl:warn] [pid 3784:tid 256] AH01909:为 www.example.com:443 配置的 RSA 证书不包含与服务器名称匹配的 ID [2014 年 8 月 20 日星期三 08:05:33.825871] [mpm_winnt:notice] [pid 3784:tid 256] AH00455: Apache/2.4.7 (Win32) OpenSSL/1.0.1e php/5.5.6 已配置 -- 恢复正常操作 [2014 年 8 月 20 日星期三 08:05:33.825871] [mpm_winnt:notice] [pid 3784:tid 256] AH00456:Apache Lounge VC11 服务器建成时间:2013 年 11 月 21 日 20:13:01 [2014 年 8 月 20 日星期三 08:05:33.825871] [core:notice] [pid 3784:tid 256] AH00094:命令行:'c:\xampp\apache\bin\httpd.exe -d C:/xampp/apache' [2014 年 8 月 20 日星期三 08:05:33.830753] [mpm_winnt:notice] [pid 3784:tid 256] AH00418: Parent: Created child process 4452 [2014 年 8 月 20 日星期三 08:05:35.148052] [ssl:warn] [pid 4452:tid 268] AH01909:为 www.example.com:443 配置的 RSA 证书不包含与服务器名称匹配的 ID
以下是我的httpd-ssl.conf
文件中的 sn-p:
# SSL Virtual Host Context
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "C:/xampp/htdocs"
ServerName www.example.com:443
ServerAdmin admin@example.com
ErrorLog "C:/xampp/apache/logs/error.log"
TransferLog "C:/xampp/apache/logs/access.log"
</VirtualHost>
我做错了什么,我该如何解决?
【问题讨论】:
您是否测试过您的网络中的端口 443 是否打开?通过 telnet 进行检查。对我来说,这只是一个警告而不是错误。openssl x509 -in server.crt -noout -subject
应该返回证书的 CN
【参考方案1】:
[2014 年 8 月 20 日星期三 08:05:33.208723] [ssl:warn] [pid 3784:tid 256] AH01909:为 www.example.com:443 配置的 RSA 证书不包含与服务器名称匹配的 ID
这意味着可能存在foo.example.com
的服务器名称,但证书仅适用于bar.example.com
。在这种情况下,虽然 Apache 可能会尝试提供此类证书,但浏览器 s 在访问 https://foo.example.com
时不会接受它们。
【讨论】:
对不起,我不太明白。 我必须做些什么来解决这个问题? 您必须修复服务器名称或修复证书。服务器名称必须包含在证书中。 @SteffenUllrich 如何在证书中包含名称?当我生成证书时,它不会询问我服务器名称。【参考方案2】:Apache 中使用的服务器名称 (httpd.conf) 必须与 Apache 中的服务器名称 (httpd-ssl.conf) 相同,例如在 Apache (httpd.conf) ServerName localhost:8080
然后在 apache (httpd-ssl.conf) 中应该是这样的 ServerName www.example.com:8080
【讨论】:
【参考方案3】:尝试安装更新版本而不是最新版本
备份所有数据库和代码
卸载 XAMPP
安装新版本
这应该是固定的。
https://sourceforge.net/projects/xampp/
【讨论】:
【参考方案4】:在文件“httpd-ssl.conf”设置中:
SSLEngine 开启(默认)
将关闭更改为 SSLEngine 设置。
【讨论】:
这甚至都不是一个明确的答案。以上是关于证书不包含与服务器名称匹配的 ID [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
无法使用端口 443 设置 https 站点。rsa 服务器证书公用名 (cn) 与 SSl 错误日志中的服务器名称不匹配