可以使用网络应用 提供不同的页面, 取决于 hostname 这是浏览器要求的, 即使所有主机名都已解决 同样的 IP address
例如,在
https://app.example.com
,
哪个解决了
1.2.3.4
,
用户将找到用户界面
并在
https://admin.example.com
,
这也解决了
1.2.3.4
,
等待仪表板
通过这
只有应用程序的所有者才可以
管理用户和数据
在应用程序中。
简而言之,
我们需要进入,
例如,
http://admin.app:8000/
在我们的浏览器中
并让admin.app
解析为127.0.0.1
。
我该如何配置 自定义主机名到IP地址解析 在我的开发环境中?
答案 0 :(得分:1)
dnsmasq
Ubuntu Desktop的默认网络配置是
由NetworkManager及其从属dnsmasq
组成。
奴隶dnsmasq
在127.0.1.1
收听,/etc/resolv.conf
将其列为唯一的nameserver
。
这意味着我们拥有一个完全可配置的DNS服务器,默认情况下可以轻松配置。
我们可以创造
/etc/NetworkManager/dnsmasq.d/hosts.conf
并在其中加入我们所希望的address
陈述:
address=/admin.app/127.0.0.1
我们甚至可以使用通配符!
address=/.app/127.0.0.1
见
dnsmasq
documentation
详情
(寻找--address
)。
由dnsmasq
服务启动network-manager
,
然后我会假设以下将重新启动它
以便新配置生效:
$ service network-manager restart
但是its init-script does not control slave dnsmasq。
因此必须杀死dnsmasq
进程
上面的命令会让它重新开始。
就是这样!
答案 1 :(得分:0)
在虚拟机中
127.0.0.1
和localhost
不会到达主持人,
但客人。
例如,在VirtualBox中,
默认情况下,可以访问主机
在10.0.2.2
。
因此,来宾VM的主机文件看起来像
10.0.2.2 host
10.0.2.2 app.host
10.0.2.2 admin.host
如果您正在设置
代理DNS名称服务器
在虚拟机内部
(也许是Windows中的通配符支持)
上游名称服务器
通常由主持人提供。
在VirtualBox中,它是10.0.2.3
。
答案 2 :(得分:0)
只需编辑 hosts file。 它的位置 depends on the OS。 例如:
127.0.0.1 app.localhost
127.0.0.1 admin.localhost
在Windows上,您可以使用 这个漂亮的开源GUI 用于编辑hosts文件: Hosts File Editor
hosts文件不支持通配符!
自Ubuntu 12.04以来,
Ubuntu桌面附带
本地DNS服务器,
这可能不尊重
hosts文件(/etc/hosts
)。
因此,对于Ubuntu桌面,this answer
是最好的。
答案 3 :(得分:0)
HOSTALIASES
文件这是我的首选答案 因为 它避免了 改变系统配置。
可是:
这是user specific host aliases file。
请注意,格式与hosts
文件不同。
简而言之,您创建了一个文件 其中包含主机别名。
例如
foo localhost
bar localhost
并将其放在~/.hosts
。
然后设置环境变量
HOSTALIASES
使用别名文件的路径。
所以,对于这个例子
$ export HOSTALIASES=~/.hosts
答案 4 :(得分:0)
Acrylic DNS Proxy易于安装和配置。
它可以帮助我们在Windows中快速获取带别名的主机名。
它是开源的。
hosts
文件(通过开始菜单条目)。1.2.3.4 >app
。127.0.0.1
。答案 5 :(得分:0)
(GNU / Linux)的
由于所有主要发行版都在迁移(或已经发生)到systemd堆栈,因此实现通配符支持的正确位置将由systemd解析:有关详细信息,请参阅https://github.com/systemd/systemd/issues/766。
这也是为DNS设置自定义覆盖的地方。
至于Windows - 它的VM应该只从主机获取DNS:无论如何都要冒险在裸机上运行它。