【问题标题】:Difficulty accessing local webserver难以访问本地网络服务器
【发布时间】:2023-03-17 23:55:02
【问题描述】:

我在 Linux 虚拟机上设置了 Echoprint 本地网络服务器(使用 tokyotyrant、python、solr)。

我可以通过浏览器或curl在虚拟机中使用http//localhost:8080和在非虚拟机中访问它(找不到更好的说法)我使用虚拟机上的IP也可以使用 8080 端口。

但是,当我尝试在同一个 wifi 上通过我的 android 访问它时,出现连接被拒绝错误。

【问题讨论】:

    标签: android python solr webserver tokyo-tyrant


    【解决方案1】:

    如果您从 Android 模拟器引用系统上的本地主机,则必须使用 10.0.2.2:8080。由于 Android 模拟器在虚拟机(QEMU)中运行,因此这里的 127.0.0.1 或 localhost 将是模拟器自己的环回地址。

    参考:Emulator Networking

    【讨论】:

    • 我不知道它是否有所作为,但我使用的是真正的安卓设备。我已经尝试使用该地址,但仍然收到连接被拒绝错误。即使我在同一个 wifi 中做所有事情,端口是否也关闭了?
    【解决方案2】:

    服务器绑定的是localhost还是0.0.0.0?

    由于桥接,也许您的主机也将该 ip 解析为某种 localhost。

    【讨论】:

    • 服务器绑定到0.0.0.0。出虚拟机我用的是192.168。等等。我不确定我是否应该在其他设备中使用这个地址。
    • 您为 VM 使用什么类型的网络?是桥接网络吗?
    • 这是 NAT。我应该使用桥接吗?
    • 不是 100% 确定,但试一试;可能是问题所在。当您要求“提示”而不是“解决方案”时,我就像“嗯,试一试”:)
    • 尝试过桥接,但我无法建立连接:P 感谢您的帮助。我正在使用 VMware Player 顺便说一句
    【解决方案3】:

    “localhost”和“127.0.0.1”都只是本地环回接口:它们只在同一台机器上有意义。在您的 Android 设备上,假设它与您的机器在同一个 wifi 网络上,您需要使用主机的实际 IP 地址:您可以从该机器的网络设置或路由器的 Web 界面中找到它.

    【讨论】:

    • 我尝试使用可以从“whatismyip”等网站获得的 IP,但没有成功。
    • 不,不是这样:那些站点会报告您网络的外部地址,但您的机器将在 NAT 之后,因此您需要找到本地网络地址。可能类似于 192.168.1.1 或 10.0.0.1。
    • 哦。我也已经尝试过了,但连接被拒绝。即使我在同一个 wifi 上工作,端口是否可能关闭?
    • 怪你的防火墙。关掉它。
    • 试过了还是不行..不知道还能做什么:(
    【解决方案4】:

    如果有人遇到同样的问题,我解决了。 连接必须通过电缆,并且在 VMware Player 设置中必须桥接网络连接,您还必须单击“配置适配器”并取消选中“VirtualBox Host-Only Ethernet Adapter”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-03
      • 2014-08-19
      • 2013-10-20
      • 1970-01-01
      • 2011-04-04
      • 2012-01-03
      • 2017-08-11
      相关资源
      最近更新 更多