证书不包含与服务器名称匹配的 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Xampp:服务器证书不包含与服务器名称匹配的 ID

主机名/IP 与证书的替代名称不匹配

无法使用端口 443 设置 https 站点。rsa 服务器证书公用名 (cn) 与 SSl 错误日志中的服务器名称不匹配

如何修复智能手机中的证书错误[关闭]

在发行人名称与特定值匹配的集合中查找X509证书

无法在 xampp 中启动 apache