我正在使用archlinux并安装了systemd-nspawn容器:
主机和容器都安装了httpd。
在主机服务器中,端口为80
在容器服务器中,端口为81
我观察到的是127.0.0.1:80指的是主机而127.0.0.1:81指的是容器。
我认为默认情况下linux认为127.0.0.1为127.0.0.1:80
我想将127.0.0.1:81保存为/ etc / hosts
中的localhost容器中的文件/ etc / hosts如下: 127.0.0.1:81 gauranga 127.0.0.1 nityananda
当我尝试容器chroium http://gauranga时,This webpage is not available
当我尝试容器chromium http://nityananda时,它可以工作并显示hosts / srv / http根目录内容
如何解决这个问题。
答案 0 :(得分:0)
/ etc / hosts 文件将覆盖或定义您计算机上的本地DNS解析。
DNS是将域名转换为IP地址的服务,以便计算机可以相互通信。
港口是另一个概念。端口更像是邮箱,计算机可以有多个服务(smtp,http,https等......),每个服务都在自己的特殊邮箱中监听。这样,不同的服务就无法访问彼此的数据。
换句话说,当你连接到google.com:80时,你就是 1.首先将google.com解析为其IP地址 2.使用ip连接到80端口或邮箱,用于web / http
因此,简而言之,您不需要(且无法)在 / etc / hosts 上指定端口,您的主机条目将对所有端口产生影响,因为这样做完成在上一步中。