我已经看到,使用IPv6,您可以为一个接口分配多个地址。我想利用这一点,使表能够具有与特定地址相关联的特定https证书,而不是尝试使用一个捕获所有证书。有人知道如何在Linux (Ubuntu)上指定一组IP地址来绑定到接口上吗?
我将使用Nginx,这样它就可以在指定虚拟主机时绑定到IP地址。
顺便说一下,访问我正在设置的服务的客户端是启用了IPv6的,所以我不担心没有任何基于IPv4的连接。
发布于 2017-02-22 23:08:17
您已经多年没有需要每个证书的IP地址了。的确,十年前,您确实需要每个证书的IP。
关于所有捕获证书,大多数公共核证机关不鼓励使用证书,而且往往会拒绝颁发证书。
据我所知,ngINX支持SNI (服务器名称指示),因此,只要使用SNI支持编译ngINX (目前默认情况下),就需要配置多个(SSL) vhost。
SNI的重点还不在于创建多主机证书。为每个vhost创建不同的证书。因此,vhost www.example1.com指向www.example1.com的证书,而www.example2.com的vhost指向另一个只包含www.example2.com的证书。
来自如何使用Ubuntu12.04上的Nginx在一个IP上设置多个SSL证书
关于SNI,虽然在一个虚拟私有服务器上托管几个站点并不是使用虚拟主机的挑战,但为每个站点提供单独的SSL证书通常需要单独的IP地址。最近,通过使用服务器名称指示(SNI)简化了该过程,该指示向站点访问者发送与请求的服务器名称匹配的证书。
发布于 2017-02-23 07:15:31
是的,您可以为接口分配任意多个IPv6地址(事实上,IPv4地址也是如此)。这可以通过ip程序(例如sudo ip addr add 2001:db8:1:2::1/64 dev eth0)来完成。这大致相当于有多个接口,每个接口只有一个地址,只是通信量通过相同的接口。如何通过重新引导使地址持久取决于Linux发行版,请参阅您的发行版的文档。
在配置侦听这些地址的服务器时,就像每个地址有一个接口一样。
https://unix.stackexchange.com/questions/346935
复制相似问题