无法使用 ngrok 连接到 https://localhost(使用 TLS / SSL)
Posted
技术标签:
【中文标题】无法使用 ngrok 连接到 https://localhost(使用 TLS / SSL)【英文标题】:Can't connect to https://localhost with ngrok (using TLS / SSL) 【发布时间】:2018-08-31 04:31:09 【问题描述】:我已经看到了多个线程,但仍然无法启动和运行。
我尝试过 TLS 和 TCP 连接,但主要问题是浏览器无法理解这些 URL(例如 tls://2456xxxx.ngrok.io)。
一旦我建立了到https://localhost 的 TLS 或 TCP 连接,我如何才能真正通过浏览器进行连接?
(我需要测试 Stripe 的 PaymentRequest 功能,该功能需要带有绿色检查的 localhost 连接。)
关于这个问题的主题似乎没有回答这个问题: https://github.com/inconshreveable/ngrok/issues/194 https://github.com/inconshreveable/ngrok/issues/123
【问题讨论】:
【参考方案1】:我通过关闭本地服务器上的 https 来实现此功能。如果您在 8080 上运行普通的 http 本地服务器,然后运行 ./ngrok http 8080
,您将获得一个签名的 https ngrok URL,该 URL 将通过隧道连接到您的 http 服务器。
【讨论】:
不幸的是,我需要这个的全部原因是使用 ApplePay 进行 Stripe 本地开发需要 https。不过谢谢! @LukeWilliams Stripe 使用 Apple Pay 进行本地开发正是我想要做的,并且我成功地使用了这种方法。您需要做的就是关闭本地服务器上的 https,然后导航到 ngrok 隧道 URL 的 https 版本。您的浏览器和 ngrok URL 之间的连接是 https,因此 Apple Pay 等将起作用。 Ngrok 处理本地服务器和 Ngrok 隧道端点之间的安全连接。试试看! 哦哦哦哦哦哦哦哦哦哦!那会节省一些时间。会试试的。 @jweob"Ngrok 处理本地服务器和 Ngrok 隧道端点之间的安全连接。" -- 如果你的本地服务器运行 HTTP,ngrok 和你的本地服务器之间不会有 SSL。只是为了澄清。如果您在本地主机上使用自签名证书(您可能会这样做),那么此连接将被加密但仍然不安全,因为证书无效。 不再需要禁用 HTTPS。 Ngrok 从几个月前就开始支持 HTTPS,见this comment以上是关于无法使用 ngrok 连接到 https://localhost(使用 TLS / SSL)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Ngrok 从 AWS Lambda 连接到本地 PostgreSQL
如何使用 ngrok 连接到 Visual FoxPro 数据库