我正在尝试在家中设置我的主机文件,以便从我的外部 IP 访问我的网络服务器。
如果我走http://localhost/测试我可以访问我的 Apache,但如果我尝试http://myip/测试我看到我的路由器显示 404。
由于外部的朋友可以访问我的服务器,因此 nat 规则/fw 正在运行。
我尝试在我的主机文件中添加 IP,但似乎不起作用。
127.0.0.1 本地主机 90.xxx
有什么线索吗?
答案1
你不能这么做。
该hosts
文件仅用于名称和 IP 地址之间的映射。您不能使用它来将一个 IP 地址映射到另一个 IP 地址。因此,您可以这样做:
127.0.0.1 www.我的电脑
...然后http://www.my.computer/
在您的网络浏览器中输入。
理论上,您可以为本地设备赋予与路由器外部地址相同的 IP 地址,这将允许您执行您所描述的操作,但实际上这不是我推荐的配置。
答案2
您的问题不在于您的 hosts 文件(尽管拥有 hosts 文件是一个问题 —— 几乎总是没有理由这样做!)。您的问题在于您的防火墙,特别是所谓的“NAT 反射”。(在 Google 上搜索您的路由器/防火墙和该术语,看看是否可以在您的案例中设置 NAT 反射)。
更好的替代方法可能是通过 DNS 主机名访问您的内部服务器,并在本地覆盖它(通过主机文件(YUCK!)或内部 DNS)以指向私有 IP 地址。
答案3
您使用的是 Apache 网络服务器吗?如果是,则可能需要修复 httpd.conf 文件中的指令。我认为使用您的 IP 号码的 ServerName 可能是修复方法。
Servername <externipnumber>:80
Listen <externipnumber>:80