是否可以获得IP地址的SSL证书,而不是域名?

Evg*_*nyt 244 dns https ip-address ssl-certificate

我希望我的网站使用类似http://192.0.2.2/...https://192.0.2.2/...静态内容的URL ,以避免请求中不必要的cookie并避免额外的DNS请求.

有没有办法为此目的获得SSL证书?

Pek*_*ica 146

根据这个答案,它是可能的,但很少使用.

至于如何获得它:我倾向于尝试用您选择的提供商订购一个,并在订购过程中输入IP地址而不是域.

但是,在IP地址上运行站点以避免DNS查找听起来非常像对我不必要的微优化.您最多可以节省几毫秒,这是每次访问,因为DNS结果缓存在多个级别上.

从优化角度来看,我认为你的想法没有意义.

  • 我绝对看到你对饼干的观点,你是完全正确的.但是切换到SSL IP以节省几毫秒的DNS查找声音对我来说比它的价值更麻烦.此外,如果您需要更换提供商,您可能会遇到与您一起使用IP的问题 - 这可能是不可能的.移动域名要容易得多,并且应该可以轻松地将证书移到中途. (11认同)
  • @Evgenyt:我认为这不是因为DNS查询,如上所述缓存在如此多的级别上,以至于它不会成为性能问题.更有可能的是,它允许浏览器管理他们的请求.保持与主机的连接打开,从而避免设置其他连接. (10认同)
  • AFAIK,每分钟1次(Firefox DNS缓存)和IE每30分钟1次.这与DNS记录的TTL不同.此外,我需要大约20ms,具体取决于域名和NS服务器的速度(这也是首先要解决:) :)我还想避免每个静态请求的冗长cookie(我的auth + Google AnalyticsCookie).因此,使用IP而不是购买单独的域名是好的.BTW,stackoverflow,basecamphq对静态内容使用单独的域.使用IP代替也将删除不必要的DNS请求. (7认同)
  • 我同意答案.此外,我们发现此类配置存在问题.事实证明,如果使用IP地址作为证书目标,Android OS上的Chrome浏览器(39.0.2171.93)(4.4,5.0;适用于4.0,4)不会通过HTTPS播放音频文件.我们过去常常在测试环境中使用这种配置,但会开始使用域名. (5认同)
  • Google的Page Speed工具始终建议"从与主文档(xxxx.com)相同的主机提供以下JavaScript资源,或者尽可能推迟加载这些资源".我没有将Page Speed工具评为圣经,但无论如何这意味着DNS优化不是我发明的.我只是想尽可能让我的Page Speed清单变绿. (2认同)

reg*_*oug 54

简短的回答是肯定的,只要它是一个公共IP地址.

不允许向保留的IP地址颁发证书,并且自2016年10月1日起,所有先前发布到保留IP地址的证书都被撤销.

根据CA浏览器论坛,除非IP地址同时位于commonNamesubjectAltName字段中,否则IP地址证书可能存在兼容性问题.这是由于传统的SSL实现与RFC 5280不一致,特别是Windows 10之前的Windows操作系统.


资料来源:

  1. 证书 CA浏览器论坛中的 IP地址指南
  2. 基准要求1.4.1 CA浏览器论坛
  3. (很快就会)不那么普通的名字 unmitigatedrisk.com
  4. RFC 5280 IETF

注意:此答案的早期版本声明所有IP地址证书将于2016年10月1日撤销.感谢Navin指出错误.

  • 不成立,globalsign仍然会颁发IP证书.证书颁发机构/浏览器论坛不喜欢在证书中看到私有IP,但不喜欢公共IP. (5认同)
  • @bronzeman 这是一个公共IP地址,所以,是的,你可以获得它的证书。唯一无法颁发证书的地址是 https://en.wikipedia.org/wiki/Reserved_IP_addresses (2认同)

Kla*_*sen 29

我想答案是肯定的.例如,检查此链接.

向公共IP地址颁发SSL证书

SSL证书通常发布到完全限定域名(FQDN),例如" https://www.domain.com ".但是,某些组织需要颁发颁发给公共IP地址的SSL证书.此选项允许您在证书签名请求(CSR)中将公共IP地址指定为公共名称.然后,可以使用颁发的证书来直接保护与公共IP地址的连接(例如,https://123.456.78.99.).

  • 它是否也适用于静态私有IP?喜欢局域网? (5认同)
  • @ShivSingh 有来源吗?我不认为任何知名的 CA 都会向私有 IP 地址颁发证书。 (2认同)

meh*_*mpt 16

是的.Cloudflare将其用于其DNS指令主页:https://1.1.1.1

  • 这不是看起来的样子。如果您检查证书,则“通用名称”字段为“ cloudflare-dns.com”,而“ 1.1.1.1”仅列在“证书主题替代名称”下。 (7认同)
  • @bitinerant [如果存在使用者替代名称,则将忽略通用名称](https://blog.confirm.ch/ssl-certificates-with-subjectalternativename-san/)。实际上,不赞成使用“公用名”,而只有“ SAN”才是真正相关的。 (3认同)

Sha*_*ain 8

这完全取决于颁发证书的证书颁发机构。

就 Let's Encrypt CA 而言,他们不会在公共 IP 地址上颁发 TLS 证书。 https://community.letsencrypt.org/t/certificate-for-public-ip-without-domain-name/6082

要了解您的证书颁发机构,您可以执行以下命令并查找下面标记的条目。

curl -v -u <username>:<password> "https://IPaddress/.."
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Jos*_*itt 8

答案是肯定的。简而言之,它是一个主题备用名称 (SAN) 证书,其中包含您通常会看到 DNS 条目的 IP。证书类型不限于公共 IP - 该限制仅由签名机构而非技术施加。我只是想澄清这一点。我怀疑您真的只是想摆脱内部网站和设备上令人讨厌的不安全提示,而无需为它们提供 DNS 名称,然后每年或两年支付 CA 颁发证书的费用和麻烦。您不应该试图让全世界相信您的 IP 地址是一个信誉良好的网站,人们应该可以放心地提供他们的付款信息。既然我们已经确定了为什么没有信誉良好的组织想要颁发此类证书,让我们自己使用自签名的 SAN 证书来完成。在内部,我有一个部署到我们所有主机的可信证书,然后我用它签署这种类型的证书,所有设备都变得可信。在这里这样做超出了问题的范围,但我认为它与讨论相关,因为问题和解决方案是齐头并进的。简而言之,这里是如何使用 IP 地址生成单独的自签名 SAN 证书。展开 IP 列表以包括您的整个子网,并为所有内容使用一个证书。以下是如何使用 IP 地址生成单独的自签名 SAN 证书。展开 IP 列表以包括您的整个子网,并为所有内容使用一个证书。以下是如何使用 IP 地址生成单独的自签名 SAN 证书。展开 IP 列表以包括您的整个子网,并为所有内容使用一个证书。

#!/bin/bash
#using: OpenSSL 1.1.1c FIPS  28 May 2019 / CentOS Linux release 8.2.2004

C=US ; ST=Confusion ; L=Anywhere ; O=Private\ Subnet ; EMAIL=admin@company.com
BITS=2048
CN=RFC1918
DOM=company.com
SUBJ="/C=$C/ST=$ST/L=$L/O=$O/CN=$CN.$DOM"

openssl genrsa -out ip.key $BITS

SAN='\n[SAN]\nsubjectAltName=IP:192.168.1.0,IP:192.168.1.1,IP:192.168.1.2,IP:192.168.1.3,IP:192.168.1.4,IP:192.168.1.5,IP:192.168.1.6,IP:192.168.1.7,IP:192.168.1.8,IP:192.168.1.9,IP:192.168.1.10'

cp /etc/pki/tls/openssl.cnf /tmp/openssl.cnf
echo -e "$SAN" >> /tmp/openssl.cnf

openssl req -subj "$SUBJ" -new -x509 -days 10950 \
    -key ip.key -out ip.crt -batch \
    -set_serial 168933982 \
    -config /tmp/openssl.cnf \
    -extensions SAN

openssl x509 -in ip.crt -noout -text
Run Code Online (Sandbox Code Playgroud)


Chr*_*cke 5

C/A 浏览器论坛设置证书中什么是有效的和无效的,以及 CA 应该拒绝什么。

根据其发布和管理公共信任证书文件的基线要求,自 2015 年起,CA 不得颁发公共名称或公共备用名称字段包含保留 IP 或内部名称的证书,其中保留 IP 地址为 IP IANA 列为保留的名称 - 包括所有 NAT IP - 内部名称是任何未在公共 DNS 上解析的名称。

可以使用公共 IP 地址(并​​且基线要求文档指定 CA 必须执行哪些类型的检查以确保申请人拥有 IP)。