在我的网络下,我已经设置了一个Ubuntu Server 16.04
,其中部署了一些可以通过浏览器访问的 Web 应用程序http://192.168.0.4/myapplication
。
我想要的是访问myapplication
仅在我的本地网络中使用较短的网址,例如http://srv/myapplication
一种方法是编辑我的计算机中的主机并添加行
192.168.0.4 srv
它在哪里工作。
但是,我想问一下是否有其他方法可以做到这一点,而无需编辑我电脑中的主机文件(因为那样的话,我就必须从所有电脑编辑主机文件)。
我问这个,是因为在同一个网络下有另一台带有Windows Server 2008
操作系统的服务器,我也在那里部署了一些 Web 应用程序,并且我无需在主机文件中http://myserver:8080/myApp
添加它们即可访问它们!192.168.0.3 myserver
我的 Ubuntu 服务器中的主机文件当前是:
27.0.0.1 localhost
192.168.0.4 srv
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
答案1
对于你的情况,我有几点看法:
- 我们可以假设你的 Ubuntu 服务器设置了正确的主机名,对吗?如果是,其他计算机可以平该服务器的名称是什么?
- 另外,我们可以假设监听连接的 Web 服务器也配置为按名称监听,对吗?
- 如果前两个问题的答案是肯定的,那么您可以查看内部 DNS 服务器,以确保此解析对整个网络都是正确的。
Windows 计算机使用一项称为 NetBIOS 的功能(更多详细信息请点击此处),它可以自行解析内部名称,而 Linux 机器通常没有此功能,但可以实现。您也可以阅读他们讨论过此问题的主题:https://serverfault.com/questions/352305/why-can-windows-machines-resolve-local-names-when-linux-cant
干杯,维尼修斯