解决有关通过LAN访问localhost的问题

时间:2012-01-04 17:18:50

标签: apache windows-7 lan

我有两台IP地址分别为192.168.1.1和192.168.1.2的计算机。两台计算机上都安装了Apache服务器,两台计算机都在监听端口8080而不是80.我通过局域网连接了两台计算机,并且我成功地相互ping通。但是,我无法访问另一台计算机的localhost。

应该更改哪些必要设置?

4 个答案:

答案 0 :(得分:4)

IP地址127.0.0.1是一个特殊的环回地址,通常称为localhost。它离开是指您当前所在的机器。最好不要使用127.0.0.0/8网络块来寻址除本地计算机之外的其他任何内容。

您描述的LAN也分别绑定到每台机器192.186.1.1和192.186.1.2。用它来与每台机器通信。 例如从192.186.1.1开始,输入http://192.186.1.2:8080/以查看其他计算机。

使用名称时,例如“localhost”,您的Hosts file用于将名称解析为IP地址,然后返回DNS。在大多数系统上,也可以修改此行为。

以上假设您没有防火墙或特殊路由。

答案 1 :(得分:3)

localhost仅用于从自身访问同一台计算机。 localhost始终解析为本地ip 127.0.0.1

要从另一台计算机访问一台计算机,您必须使用IP地址,例如192.16.8.1.1或192.168.1.2

答案 2 :(得分:2)

localhost是本地地址127.0.0.1的别名; 总是意味着“这个本地主机就在这里”,这是预期的行为。

您可以通过IP地址访问它们,将彼此的主机名添加到其hosts文件中,或者设置一个小型DNS服务器。

答案 3 :(得分:0)

如果您在计算机192.168.1.1上并且正在尝试连接到192.168.1.2上的端口8080,其中ping 192.168.1.2有效,但打开http://192.168.1.2:8080/则不行,请尝试:

telnet 192.168.1.2 8080

不应该拒绝连接,而是连接到:... 。从那里输入:

GET /

如果我为 telnet www.google.com 80 执行此操作,请输入:

Trying 173.194.67.105...
Connected to www.l.google.com.
Escape character is '^]'.
GET /
HTTP/1.0 302 Found
Location: http://www.google.co.uk/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=562c9df87033be9d:FF=0:TM=1325703914:LM=1325703914:S=eV6aBcXk3LTKVwxB; expires=Fri, 03-Jan-2014 19:05:14 GMT; path=/; domain=.google.com
Date: Wed, 04 Jan 2012 19:05:14 GMT
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Connection closed by foreign host.

如果没有,你可以提供:

  • 两台机器的操作系统
  • 您在尝试使用网址时在哪个浏览器中收到的错误
  • telnet www.google.com 80 telnet 192.168.1.2 8080 的完整输出,如上所述。