从基于名称的虚拟主机转移到基于 IP 的虚拟主机的最佳程序是什么?

从基于名称的虚拟主机转移到基于 IP 的虚拟主机的最佳程序是什么?

目前,我们为同一 IP 上的两个网站使用基于名称的虚拟主机。这两个网站的 DNS 条目都指向第三方网站托管商的同一 IP。

我们已经为这两个网站购买了 SSL 证书,这意味着基于名称的虚拟托管不再是我们的选择。看来我们需要改为使用基于 IP 的虚拟托管。因此,我们还购买了一个额外的 IP 用于第二个网站。

我想验证这些是否是以最少的停机时间进行更改的正确步骤:

1) 在 Linux 级别添加新 IP 将 /etc/sysconfig/network-scripts/ifcfg-eth0 复制到 /etc/sysconfig/network-scripts/ifcfg-eth0:1 并针对新 IP 进行相应编辑。然后执行“ifdown eth0”和“ifup eth0”。确保使用“/sbin/ifconfig”显示新 IP。

2) 编辑 httpd.conf。删除“NameVirtualHost”指令,并将“VirtualHost”修改为特定于 IP。使用“/usr/sbin/apachectl configtest”进行验证,然后重新启动 Apache。

3)将第二个网站的 DNS A 记录更改为指向新的 IP。

一些问题:

1) 据我所知,#1 不会造成任何停机,并且 eth0 上的现有 IP 将保持不变。对吗?

2) 在上述第 2 点中,我们能否进行设置,以便旧 IP 或新 IP 仍指向正确的网站?这听起来暂时会是一个混合环境。我认为这可以在 DNS 传播时提供无缝选项。

3) 我需要修改任何路由吗?唯一需要改变的是添加新 IP 并使其正确指向第二个网站。

4)我遗漏了什么吗?

谢谢!

答案1

你的问题:

  1. 是的,从技术上讲,这会导致停机。远程发出该命令(例如通过 SSH)将导致您失去对服务器的访问权限,从而导致更多的停机时间。您想要的是service network restart(我根据/etc/sysconfig/network-scripts路径假设这是这样的)

  2. 保持旧 VirtualHost 完好无损,为新 IP 创建新 VirtualHost 并复制站点配置。测试、重新加载、更新 DNS。在 x 小时后删除旧配置以考虑传播。

  3. 您的新 IP 和旧 IP 是否位于同一子网?其网关是否不同?

  4. 您有防火墙吗?外部硬件或内部软件iptables?您可能需要为新 IP 地址更新或添加新规则

相关内容