可以在基于 IP 的服务器上设置多个虚拟主机吗?

可以在基于 IP 的服务器上设置多个虚拟主机吗?

我目前在基于 IP 的 Apache Web 服务器上设置了一个 Web 开发暂存环境。它没有关联的域。因此,只能通过在 URL 中输入 IP(xxx.xxx.xxx.xxx)来访问它。是否可以在具有单个 IP 的服务器上创建另一个开发区域?

我通常会创建一个子域并指向该子域以用于新的开发轨道。我不必与没有域名的基于 IP 的服务器抗衡。目前,它设置为通过默认虚拟主机为其自身提供单个实例。

有没有什么简单的方法可以在这种类型的 Web 服务器上添加更多的开发实例?

答案1

是的,你可以,你只需要更改监听端口

Listen 80
Listen 81

<VirtualHost xxx.xxx.xxx.xxx:80>
...
</VirtualHost>

<VirtualHost xxx.xxx.xxx.xxx:81>
...
</VirtualHost>

答案2

通过某种域名访问它(您可能需要将条目放入 hosts 文件中),然后创建附加到不同域名的虚拟主机。

如果您由于某些特殊原因需要继续仅通过 IP 地址访问它,您唯一的选择是让 Apache 监听更多端口,并将虚拟主机附加到不同的端口。

答案3

如果您严格基于 IP,则每个实例都需要一个 IP 地址或端口。对于内部网应用程序,私有范围(10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16)中的 IP 地址应该可用。使用非标准端口可能会带来管理和编码问题。

您可以通过使用路径在一定程度上伪造它。(192.0.2.10/test1、192.0.2.10/test2)

我会选择基于名称的解决方案。如果您无法将名称添加到 DNS,那么有很多类似的最小 DNS 服务器dnsmasq可以为内联网提供服务。用户需要将他们的解析器指向服务器。

相关内容