【问题标题】:Chrome/Windows: Connection refused when I use my IP addressChrome/Windows:当我使用我的 IP 地址时连接被拒绝
【发布时间】:2016-01-21 13:32:41
【问题描述】:

我有一个在 VS2010 下运行的 ASP.NET 服务器,在我的 PC (Win7) 的端口 12345 上。

当我在 Chrome 中加载 localhost:12345 时,我的默认页面加载完美。
但是当我加载 192.168.128.104:12345(通过我的内部 IP,而不是通过本地主机)时,我得到“连接被拒绝”。

当我尝试从我的 Intranet 上的另一台设备(在我的例子中是 Raspberry Pi)访问服务器时,行为完全相同

我意识到当我点击 localhost 时,我只是在我的适配器中循环,因此请求永远不会离开我的机器。所以看起来原因是由于请求离开并重新进入我的机器。

我在我的 Windows 防火墙中创建了自定义入站和出站规则以允许端口 12345,但无济于事。

任何想法都将不胜感激。

【问题讨论】:

  • 那里似乎有不同的解决方案,试一试:chrome://net-internals/#dns set 'Internal DNS client enabled to true
  • 感谢 Adam - 我确实找到了一个帖子,但是如果您加载该 URL,则没有这样的控制,必须来自旧版本的 Chrome?
  • 您使用的是什么网络服务器?卡西尼? iisexpress?确保您使用的是 iis express。我已经使用 iis express 进行了测试,但连接没有被拒绝 - stackoverflow.com/questions/11454624/iis-express-or-cassini
  • 不是 IIS express,而是完整的 VS2010。在任何情况下,Fiddler(请参阅下面的我的自我回答)以极其简单的设置方式解决了这个问题。

标签: windows google-chrome firewall connection-refused


【解决方案1】:

我在这里找到了答案:
Can I access ASP.NET Development server in an intranet?
这让我想到了这个:
http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy

通常情况下,找到答案在很大程度上取决于使用正确的搜索词。这里的关键关键字是“asp.net debug Intranet”

【讨论】:

  • ps 上述答案并不真正适用于您的场景(尽管它对您有用,但请听我说),因为您正在访问您的本地地址,您没有路由到外部并返回 -从技术上讲,流量永远不会离开您的机器。第一篇文章是为了访问真正从网络上的另一个系统运行的应用程序。它是一种让你的场景正常工作的方法——但你的场景。请参阅此处的答案以使用 bindingInformation=":8080:" 绑定 iis express 以回答任何 IP 地址
  • 它实际上是适用的——我在我的 PC 上的 VS 下运行 ASP.NET 服务器,并且我的网络上有一个树莓派,我想访问它。没有 Fiddler,Pi 无法访问服务器,但使用 Fiddler,Pi 可以 访问服务器。我修改了我的原始帖子以包含 Pi,因为您的“另一个设备”评论非常相关
【解决方案2】:

这里的“正确方法”是使用 IIS Express,您不需要 fiddler 来充当反向代理。它是一种用于解决使用 Cassini 的 hack——一种过时的低预算 Web 服务器(与 IIS Express 相比),并在 SP1 之前与 VS2010 一起使用。

在 VS2010 SP1 中,添加了 IIS Express 支持。你可以在这里阅读: http://blogs.msdn.com/b/webdev/archive/2011/03/14/enabling-iis-express-support-in-vs-2010-sp1.aspx

IIS Express 可以很好地处理这个问题 - Visual Studio 2010 与之集成。它不是一个或另一个 - 您使用 Visual Studio 进行开发,当您启动您的应用程序时,它会在 2010 年启动它。

如果您想要一些非常简单的东西,请安装 Visual Studio 2015 社区版,使用 ASP.NET 5(现在称为 ASP.NET Core 1),然后通过您习惯看到的播放按钮查看下拉菜单将其运行到自托管在 VS 2010 中-不需要 Web 服务器。

再一次 - 因为它是 2016 年 - 你引用的是一种非常古老的方式。如果它是一个快速破解,我可以理解 - 但如果您正在寻找前进的最佳实践方式,请使用 IIS Express(理想情况下是更新版本的 Visual Studio - 我们在 2013/2015 社区版中免费提供)

希望有帮助!

【讨论】:

  • 回复:旧工具:我完全同意。我们已经计划在接下来的几周内升级到 VS2015。但现在我必须使用我得到的工具......你知道那是怎么回事。我有 VS2010 SP1,但在我有 2015 年之前不值得任何临时的东西,然后从那里向前推进“正确的方式”。
猜你喜欢
  • 1970-01-01
  • 2016-11-09
  • 2019-12-11
  • 2017-01-13
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
相关资源
最近更新 更多