没有IPv4地址的IPv6networking服务器

IPv4 IP越来越less,越来越昂贵,我想知道是否有可能将我们的Web服务器完全切换到IPv6。 我知道build议使用IPv4和IPv6,但我仍然想知道:

有没有办法让多个IPv6networking服务器只有一个IPv4地址可达?

例如HTTPS会遇到什么问题?

DNAT

第一个问题很简单:是的,这正是NAT的作用,但是您必须将您的单个v4地址放在v6服务器池的前面,给每个池成员一个RFC1918 v4地址,然后打一个真正的v4地址/端口配对到您想要v4可寻址的每个RFC1918地址/端口对。 您需要手动为每个服务器分配一个外部端口:

  • 端口81 => server1:80
  • 端口82 => server2:80

缺点:防火墙客户端可能不允许连接到端口81。

代理

如果您不想这样做,v4机器将需要运行某种虚拟主机代理,以便它可以接收来自v4-only主机的请求,以便在v6池上进行服务,通过代理请求并服务于回复。

代理设置的方法超出了SF答案的范围,但本质上前端框需要维护一个代理表

  • site1.example.com/* proxy-> [2001:ea48:abc1:3500 :: 1:1]:80 / *
  • site2.example.com/* proxy-> [2001:ea48:abc1:3500 :: 2:1]:80 / *
  • site3.example.com/* proxy-> [2001:ea48:abc1:3500 :: 6:1]:80 / *

在parsing到v4地址站点[123] .example.com的站点上接收来自客户端的传入请求,并将其代理到在上面列出的v6地址上运行类似命名站点的服务器。 代理还需要将响应返回给请求者。 对于已启用v6的客户端,如果您还获得了路由和v6防火墙权限,则可以在其AAAAlogging下发布自己的代理。

HTTPS

至于HTTPS,情况与那些希望在一个v4地址上本地运行多个HTTPS服务器的情况是一样的:你可以运行多个v4端口(穿透;见上),或者依靠SNI(看很多地方)不支持它的主机。

我怀疑你真正要问的是“是否有神奇的服务器端精灵灰尘,可以为v6不知情的最终用户启用v6连接”,我认为答案是“不”。 你必须完全在第四版中接受他们的要求,并以同样的方式回答他们的答案。 往上看。