【问题标题】:Solving problems regarding accessing localhost over LAN解决有关通过 LAN 访问 localhost 的问题
【发布时间】:2012-02-02 14:27:45
【问题描述】:

我有两台电脑,IP 地址分别为 192.168.1.1 和 192.168.1.2。两台计算机上都安装了 Apache 服务器,并且都在侦听端口 8080 而不是 80。我已经通过 LAN 连接了两台计算机并且我成功地相互 ping 通了。但是,我无法访问另一台计算机的本地主机。

需要更改哪些设置?

【问题讨论】:

    标签: apache windows-7 lan


    【解决方案1】:

    如果您在机器 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 80telnet 192.168.1.2 8080 的完整输出,如上。

    【讨论】:

      【解决方案2】:

      IP地址127.0.0.1是一个特殊的环回地址,俗称localhost。它离开是指您当前使用的机器。最好不要使用 127.0.0.0/8 网络块来寻址本地机器以外的任何东西。

      你描述的局域网也有 192.186.1.1 和 192.186.1.2 分别绑定到每台机器。使用它与每台机器进行通信。 例如从192.186.1.1,输入http://192.186.1.2:8080/查看另一台机器。

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

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

      【讨论】:

      • +1。但在 Windows 7 及更高版本上;本地主机解析内置于 DNS 解析器本身,因此主机文件甚至不用于本地主机解析,这就是它在 Windows 7 上被注释掉的原因。
      • 我已经确定防火墙不是问题。
      • 我已经关闭了防火墙,但这仍然没有帮助
      • 当我们使用 IP 地址时,DNS 并不重要——不过,了解 Windows 7 对 localhost 的解析特例很有用。
      【解决方案3】:

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

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

      【讨论】:

      • 是的,我试过这样:192.168.1.2:8080 但事情不是这样工作的。
      • @Spoilt:究竟是什么意思?有什么错误吗? 会发生什么?哦,顺便说一句,您的一台或两台机器上的防火墙是否会阻止传入连接?
      • 浏览器的进度条一直在显示.....我试图ping通但都是徒劳的。
      【解决方案4】:

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

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

      【讨论】:

      • 所以当两个本地主机的 IP 相同时,链接 127.0.X.X,我应该怎么做才能使 ot 工作??
      • @Spoilt:当然可以——本地主机的 IP 地址总是在 127.0.0.0/8 范围内(通常是 127.0.0.1);那是本地计算机地址,您无法访问其上的任何其他计算机,只有 local 一台。至于“做什么”——你看到我回答的第二段了吗?尝试分别通过 192.168.1.1192.168.1.2 访问它们。
      • 好吧,我试过这样:192.168.1.2:8080 但它不起作用。你能解释一下DNS服务器吗?我不知道该怎么做??
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多