Ssl 将HTTPS与动态ip结合使用

Ssl 将HTTPS与动态ip结合使用,ssl,web,dynamic-ip,Ssl,Web,Dynamic Ip,我的情况: 我想在未知网络中的设备上运行Web服务器。端口80或443上的请求将从全局ip转发到此设备 设备定期将其IP地址发布到web上的服务器,并保存在此服务器上 是否可以通过https访问此设备而不费吹灰之力? 当然,问题是ip可以更改,SSL证书需要有主机名 编辑:该设备没有为其分配可用于证书的域。是否可以使用我拥有的域并将其重新路由到动态ip而不更改标头? 据我所知,使用https是可能的,动态IP没有问题。在SSL证书中,您存储的是一个静态主机名(domain.com),没有IP地址

我的情况: 我想在未知网络中的设备上运行Web服务器。端口80或443上的请求将从全局ip转发到此设备

设备定期将其IP地址发布到web上的服务器,并保存在此服务器上

是否可以通过https访问此设备而不费吹灰之力? 当然,问题是ip可以更改,SSL证书需要有主机名

编辑:该设备没有为其分配可用于证书的域。是否可以使用我拥有的域并将其重新路由到动态ip而不更改标头?
据我所知,使用https是可能的,动态IP没有问题。在SSL证书中,您存储的是一个静态主机名(
domain.com
),没有IP地址。

SSL证书与一个IP地址相关联的常识是误导性的。SSL证书是为域名而不是IP地址颁发的。IP地址的问题源于HTTPS协议的细节,也就是名称解析的问题。HTTP服务器可以为许多不同的域托管许多不同的站点,所有这些站点都位于相同的端口和IP地址上。它知道根据HTTP头请求哪个站点

现在,使用HTTPS,服务器首先需要在交换任何HTTP头之前协商安全SSL连接。因此,问题是它不知道应该使用哪个域的哪个证书来协商安全连接,因为它还没有机会与客户端讨论它想要访问的域

在较新版本的HTTPS协议中,实际上有加密前的名称协商机制,但实际问题是,较老的客户端还不支持它(以IE6为例)

因此,实际的解决方案是为每个HTTPS站点保留一个IP地址和/或端口,因为这样就不存在多个名称解析的问题。为一个特定HTTPS站点保留一个IP/端口,并在扩展中为一个SSL证书保留一个IP/端口


这意味着,只要您的服务器只服务于一个HTTPS域,其IP地址就可以随时更改;没有问题。

嗨,谢谢你的回答。我的问题是,我没有一个域来适应不断变化的IP。据我所知,这需要在ip发生变化时更新DNS条目(例如使用DynDNS)。是否可以将流量从web服务器上的域重新路由到动态ip?所以我可以用这个域来做证书。IP将存储在数据库中并定期更新。如果你想要HTTPS,你需要一个证书。通常只有在拥有域时才能获得证书。我不知道是否有人会为您签署DynDNS域的证书。也许他们会的。如果他们这样做了,您最好将DynDNS域指向您的服务器。否则,您可以始终使用自签名证书;因为这似乎并不适用于一个非常严肃的项目,这可能就足够了。您可以在自己的域中获取主机名的证书,并将该主机名设置为指向DynDNS(或类似)主机名的CNAME DNS条目。我在过去成功地做到了这一点。我真诚地希望避免使用DynDns,但这似乎是一个不错的解决方案,如果您已经拥有域名和证书,那么CNAME DNS似乎也是一个不错的解决方案。如果有一个加密的http连接到一个动态ip(没有dyndns),那就太好了。>这意味着,只要您的服务器只服务于一个HTTPS域,它的ip地址就可以随时更改;这没有问题嗯,‘您的服务器只提供一个作为HTTPS的域名’或者‘您的服务器只为每个域名提供一个HTTPS端口’?英语,我,不好。