![虚拟主机的动态本地网络名称](https://linux22.com/image/548335/%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E7%9A%84%E5%8A%A8%E6%80%81%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%E5%90%8D%E7%A7%B0.png)
我已经配置了一个虚拟机用作 Web 开发平台,分发给我公司的 Web 开发人员。目前,我已为每个站点安装脚本,在新的端口上创建新的虚拟主机,以便我们能够在站点上正确使用根级链接。每个站点都有一个链接,如下所示:http://192.168.1.100:8080/
、http://192.168.1.100:8081/
等。这些地址对我来说很难记住,我当然不想让其他人记住映射到站点的端口。我真的很想为每个虚拟主机创建一个新的本地网络范围名称,并使用 NetBIOS 或 Bonjour 或两者之类的东西广播其存在,这样主机就不必配置为使用网络名称。
简而言之,我想动态创建新的本地网络名称,以指向虚拟机上的各种 Apache 虚拟主机,这些虚拟主机将是平台模糊的,因此主机操作系统可以是 Windows、OS X 或 Linux。所有配置都应在虚拟机上完成,以便主机不需要任何配置。
这是来自的转发超级用户。
答案1
这不是一个确切的答案,但我们遇到了类似的问题,并用不同的方法解决了它,效果很好。我们的每个开发人员都会得到一个通配符条目,例如:
'*.username.dev.domain.com' and 'username.dev.domain.com'
这些是使用视图在内部 DNS 服务器上设置的,因此仅在公司内部可见。这也使我们能够在外部为这些设置不同的 IP,以映射到防火墙,如果开发人员确实需要临时进行一些 Internet 可访问测试,防火墙可以传递端口。
*.someuser.dev.domain.com 的 IP 上的端口 80 指向一个 nginx 实例。在 nginx 实例上,我们设置了服务器配置,该配置映射:
app1.someuser.dev.domain.com -> localhost:2180
app2.someuser.dev.domain.com -> localhost:2280
这有几个好处:
- 我们不必为新服务设置新的 DNS 条目
- 开发人员的名字很容易记住
- 它更接近生产环境(所有内容都在端口 80 上,我们也在那里使用 nginx)
- 还可以将应用程序映射到 someuser.dev.domain.com/app3 -> somehost:someport
- 使 SSL 易于测试(只需设置通配符证书,无需指定多个端口)