Http “究竟是什么?”;每个SSL证书都需要一个专用IP“;什么意思?
我读了一些关于SSL证书的内容,特别是我读到SSL证书“需要一个专用的IP地址”。现在,我不确定这是什么意思;这是否意味着证书需要一个独立于用于正常HTTP通信的IP地址的专用IP地址,或者只是它不能与其他SSL证书共享IP地址 为了澄清,我有一个专用IP地址的VPS。VPS承载着许多不同的站点,包括主站点的几个子域,但只有主站点和子域需要SSL。我可以简单地使用我当前的IP地址为*.example.com购买SSL证书,还是需要获得一个独立于VPS上其他站点的证书?或者更糟糕的是,我是否需要获得一个与服务器上所有HTTP流量分离的流量?请记住,其他站点都不需要SSL 谢谢你对这个话题的任何澄清Http “究竟是什么?”;每个SSL证书都需要一个专用IP“;什么意思?,http,ssl,https,ssl-certificate,Http,Ssl,Https,Ssl Certificate,我读了一些关于SSL证书的内容,特别是我读到SSL证书“需要一个专用的IP地址”。现在,我不确定这是什么意思;这是否意味着证书需要一个独立于用于正常HTTP通信的IP地址的专用IP地址,或者只是它不能与其他SSL证书共享IP地址 为了澄清,我有一个专用IP地址的VPS。VPS承载着许多不同的站点,包括主站点的几个子域,但只有主站点和子域需要SSL。我可以简单地使用我当前的IP地址为*.example.com购买SSL证书,还是需要获得一个独立于VPS上其他站点的证书?或者更糟糕的是,我是否需要获
编辑:我担心的一些来源:
ssl证书commmon名称必须与域名匹配。您没有任何必要的ip地址,除非是证书提供商或http服务器软件施加的限制 编辑:查看网络,谣言似乎已经传播开来,因为Apache的ssl插件没有(至少在2002年没有)任何机制来使用基于主机名的不同证书。在这种情况下,您必须在两个不同的IP地址上运行两个不同的Apache web服务器 无论如何,在您的配置中,只使用一个IP不会有任何问题,因为您不必使用两个不同的证书(因为您计划使用通配符证书) 无论如何,在花钱购买第二个ip或证书之前,我会尝试使用自签名证书配置Web服务器 编辑2:参考apache文档:
现在看来(apache>=2.2.12)支持SSL证书,SSL证书不需要专用IP地址。SSL证书存储所谓的公共名称。浏览器将此公用名称解释为与之对话的服务器的DNS名称。如果公用名称与浏览器正在与之通信的服务器的DNS名称不匹配,浏览器将发出警告 您可以获得一个所谓的通配符证书,该证书适用于特定域中的所有主机
…跟进@Eugene的回答,并提供有关兼容性问题的更多信息 根据SNI的说法,SNI在以下方面不起作用:
- Windows XP+任何版本的Internet Explorer(6,7,8,9)
- Internet Explorer 6或更早版本
- WindowsXP上的Safari
- 黑莓浏览器
- Windows Mobile高达6.5
- 诺基亚Symbian浏览器,至少在60系列上
- Opera Mobile for Symbian至少系列60
因此,当我们进入2016年时,我会大胆地说,“如果你正在建设一个现代网站(不支持旧浏览器),并且如果项目太小,无法负担专用IP地址,那么你可能会很好地依赖SNI。”当然,有成千上万的专家不同意这一点,但我们谈论的是实用,而不是完美。等等?为什么每个域都需要自己的IP?@Pacerier不,SNI并不像看上去那样得到广泛支持。事实上,直到2014年,TLS 1.1才得到广泛支持,许多服务器使用的是旧版本的OpenSSL,当请求包含TLS 1.1或1.2时,这些服务器崩溃。此外,参考答案提到了浏览器支持,忘记了存在大量非浏览器的HTTPS客户端(IIRC浏览器是所有HTTPS客户端中的少数)。最后,如果你读了我的回答,我写了“并非所有客户都支持”。如果你不关心兼容性-没有问题。你说SNI是为了解决“web服务器不知道要显示哪个证书”的问题。这难道不意味着SNI必须在TLS握手之前而不是之后发送吗?@Pacerier TLS握手包括几个步骤,SNI是在握手过程中发送的。那么MITM不能嗅出SNI并知道您正在访问哪个域吗?