通过 IP 或域进行 SSL

通过 IP 或域进行 SSL

这是用于的服务器将在 Intranet 环境中运行......

我的 Apache 正在使用 SSL。我正在使用按照此处概述的步骤创建的自签名 SSL 证书:http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#realcert 在该How do I create and use my own Certificate Authority (CA)部分下。当我创建证书时,我在CommonName字段中使用域,因此当我https://mysite.com在网络浏览器中安装证书后访问时,一切都很顺利...当我尝试通过 IP 地址使用服务器时,我收到以下类型的错误( IE),即使我的域名证书已安装在网络浏览器中:

在此输入图像描述

我希望该网站也可以通过 IP 地址访问,而无需网络浏览器安装(https://1.2.3.4)。是否可以设置使用服务器的 IP 地址或 https 域来工作???我需要这个设置,因为有些人通过IP访问服务器,有些人使用域名。

更新:我尝试使用“主题备用名称”,效果很好,但此功能将于 2015 年 11 月 1 日到期...所以,不要使用它!!!.以下是有关该主题的一些后续文档:

https://www.digicert.com/internal-names.htm

https://cabforum.org/wp-content/uploads/Guidance-Deprecated-Internal-Names.pdf

以下是上述 .pdf 中有关该主题的“简介”:

此外,自生效日期起,CA 不得颁发过期日期晚于 2015 年 11 月 1 日且 SAN 或主题公用名称字段包含保留 IP 地址或内部服务器名称的证书。

真糟糕,本来一切都工作得很好,但在创建了一个有效期为 10 年的证书并发现网络浏览器不会拒绝它后,却遇到了这堵砖墙。不管怎样,寻找一种解决办法,如果有的话......

答案1

AFAIK,您需要使用与访问站点时注册的证书相同的域。因此,IP 地址在浏览器的证书检查中始终会失败,因为 IP 不是证书的一部分。

答案2

您的浏览器将尝试将证书的主题字段与 HTTP 主机标头进行匹配。

AFAIK,您无法以这种方式连接到 IP 并期望 SSL 证书验证正常。 (我可能是错的)

此外,您正在使用自签名 SSL 证书。除非您将 CA 证书作为受信任的 CA 导入浏览器,否则您总是会收到警告。

用于查看远程 SSL 证书的有用 openssl 命令是(例如):

openssl s_client -connect www.example.com:443

或者在你的情况下: openssl s_client -connect remote IP:443

这可能有助于调试。

相关内容