使用 Visual Studio 2017 和 IIS Express 的 ngrok 无法连接

Posted

技术标签:

【中文标题】使用 Visual Studio 2017 和 IIS Express 的 ngrok 无法连接【英文标题】:ngrok with visual studio 2017 and IIS express fails to connect 【发布时间】:2019-02-11 01:04:00 【问题描述】:

因此,根据此处的 twilio 文档,我正在尝试设置我的开发机器以响应一些 webhook:

https://www.twilio.com/docs/usage/tutorials/how-use-ngrok-windows-and-visual-studio-test-webhooks

我已经安装了 ngrok,并让隧道启动并运行,指向 Visual Studio 中指定的端口。在这种情况下,44336。

但是,如果我去访问外部 URL,我会得到很长的加载时间,最终会出现 502 错误。访问 localhost 可以正常工作。

所以,我尝试将 ngrok 设置为指向 8080,我走得更远了,但仍然没有运气在浏览器中显示以下错误消息。

通过第一次隧道尝试,我可以看到 GET/ 请求出现在 ngrok 客户端中,但没有错误。在第二次尝试中,我可以看到 502 错误:

所以我有两个问题:如何诊断问题的根源?以及如何设置 IIS 以接受来自 ngrok 的连接?

【问题讨论】:

注意:由于我的应用使用 HTTPS,我尝试了 bind-tls=true 和 bind-tls=both。 所以我只是尝试使用纯 TLS,但出现了一个新错误。所以新命令看起来像:ngrok tls -subdomain=xxxxxxxx 44336 我得到一个“无效的主机名”400 错误 我不是 Windows 用户,但也有这篇博文可以帮助您解决这些问题:twilio.com/blog/2014/03/… 您在使用 .NET Core 应用程序吗? 您是否尝试过使用 Visual Studio 扩展?它应该让所有的 ngrok 命令行标志都正确:marketplace.visualstudio.com/…——我看到的另一件事是,如果你使用的是公司管理的笔记本电脑,他们会锁定它以防止 ngrok 进行的隧道类型. 【参考方案1】:

这已在最新版本的 ngrok 中解决(此时为 2.3.23)。

相关的已关闭问题可以参考这里:https://github.com/inconshreveable/ngrok/issues/448

你现在可以运行了:

ngrok http https://localhost:<port> -host-header="localhost:<port>"

你的例子:

ngrok http https://localhost:44336 -host-header="localhost:44336"

【讨论】:

【参考方案2】:

只需在项目上右键单击 -> 属性,然后禁用 ssl

【讨论】:

嗯,不能那样做。用户需要能够协商身份验证管道上的单点登录。

以上是关于使用 Visual Studio 2017 和 IIS Express 的 ngrok 无法连接的主要内容,如果未能解决你的问题,请参考以下文章

[++ i,i ++用于xcode和Visual Studio

如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013

如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建

visual studio 2017 如何下载和安装

Visual Studio 2017 for Mac 快捷键

visual studio2017需要安装哪些组件