托管服务要求我购买公共IPv4使用我自己的25美元证书是否正常?


3

我猜是自我解释的标题。

我希望我的网站只能使用https,但他们(网络托管服务)在管理中声称我需要从他们那里购买公共IPv4地址,然后再安装我在其他地方购买的证书。

我认为x.509证书根本不依赖于IP地址。这种要求是否有任何技术原因,或者这只是让人们为他们不需要的服务付费的营销理念?

Answers:


2

此限制是由于SSL / TLS协议中的技术限制。

在共享主机上,基于名称的虚拟主机用于使用相同的IP地址为具有不同域名的网站提供服务。但是,由于域名不是在SSL握手中发送的(它是在建立SSL连接后在HTTP请求中发送的),因此服务器无法根据域名从特定IP地址上的多个SSL证书中进行选择。因此,每个IP地址只能使用一个证书。

虽然服务器名称指示(SNI)通过在SSL握手中提供域名来规避此限制,但这是一个相对较新的扩展(在2006年引入),并未得到普遍支持。特别是,Windows XP上的Internet Explorer不支持SNI。因此,此限制在许多服务器上仍然存在,并且使用SSL证书需要专用IP地址。


Win XP最近完全不受支持。这是唯一保留此问题的操作系统吗?
Slartibartfast 2014年

1
对于普通浏览器:是,仅在使用IE时。虽然例如某些命令行工具也可能没有实现它。
Sander Steffann 2014年

0

StackOverflow上的另一个答案可以解释发生了什么:来自(https://stackoverflow.com/questions/15783990/what-exactly-does-every-ssl-certificate-requires-a-dedicated-ip-mean

  • 没有“SSL证书”这样的东西。该术语具有误导性。X.509证书可以用于不同目的(由其密钥用法和扩展密钥用法“属性”定义),特别是用于保护SSL / TLS会话。
  • 证书对套接字,地址和端口不需要任何内容​​,因为证书是纯数据。
  • 在使用TLS保护某些连接时,通常使用证书来验证服务器(有时是客户端)。每个IP /端口有一个服务器,因此通常服务器选择使用哪个证书没有问题。HTTPS是例外 - 几个不同的域名可以引用一个IP,而客户端(通常是浏览器)连接到不同域名的同一服务器。域名在请求中传递给服务器,在TLS握手之后。这就是出现问题的地方 - Web服务器不知道要出示哪个证书。为了解决这个问题,在TLS中添加了一个新的扩展名,名为SNI(服务器名称指示)。但是,并非所有客户都支持它。因此,一般来说,每个域的每个IP /端口都有一个专用服务器是个好主意。换句话说,每个域名,

现在我个人已经在IP基础上使用了证书,但在我的服务器上也使用了域名,我的服务器在一个IP地址上为多个域使用多个证书。因此,没有必要为每个SSL证书提供IP,但它可以使事情更安全一些。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.