我可以将 IP 地址和端口映射到域名吗?
例如,我想映射127.0.0.1:8000
到testdev.com
我的/etc/hosts
文件有
127.0.0.1 localhost
127.0.0.1:8000 testdev.com
这样当我点击 时testdev.com
,它指的是127.0.0.1:8000
。我尝试了上面的方法,但没有用。还有其他方法可以实现这一点吗?
答案1
我可以使用 /etc/hosts 映射 IP 地址和端口吗
不。
该/etc/hosts
文件是您系统域名解析器的一部分(它将检查此文件,然后检查 DNS)。
解析器的工作是将文本域名转换为IP地址,而不是IP地址+端口。
一些应用程序(例如 Minecraft)支持检查 DNS 服务器的 SRV 记录并可以使用其中的端口号,但同样,这取决于程序的行为,无法从您的/etc/hosts
文件中完成。
我想将 127.0.0.1:8000 映射到 testdev.com
什么@Giacomo1968 在评论中说道说的就是你需要做的。
答案2
答案3
正如 Lawrence 所说,这是不可能的,/etc/hosts
但你可以设置反向代理,以便使用nginx
或实现它apache
。我过去遇到过同样的问题,所以我制作了这个工具来使用语法来实现这一点/etc/hosts
:https://github.com/cristianoliveira/ergo
答案4
对我有用的解决方案apache
是首先修改我的apache
配置,如下所示:
Web 服务器配置
<VirtualHost *:80>
ServerName testdev.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/testdev.com/public
<Directory /var/www/testdev.com/public>
AllowOverride All
Options Indexes FollowSymLinks
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
apache
修改任何配置文件后,不要忘记重新启动。请注意ServerName
,指令已设置为您要使用的域名,并且设置VirtualHost *:80
为 80。这会将来自浏览器的所有访问端口 80 上的域名的请求定向到此虚拟主机配置。
现在您必须修改您的 hosts 文件,如下所示:
Hosts 文件
127.0.0.1 localhost
127.0.0.1 testdev.com
现在转到你的浏览器并输入testdev.com
以下内容将直接引导你到你的网络应用程序