【发布时间】:2018-04-07 10:28:23
【问题描述】:
我正在尝试为 Stripe 设置一个 webhook,并且根据 Stripe doc 创建了一个控制器,以便在虚拟机中运行的 ASP.Net MVC 中执行此操作(也许这会改变一些事情?)。我一直在测试控制器中的操作以查看是否可以接收帖子,因此我正在使用 Postman 发送有效的本地主机帖子请求。但是现在我需要使用 Ngrok 给我的 localhost 一个 url,以便 Stripe 可以使用它。我正在运行 ngrok 并传入这些参数来运行
ngrok http -host-header="localhost:44368" 44368
这是我看到的,一切看起来都很好
但现在当我尝试在 Postaman 中使用它时
我收到 502 Bad Gateway 消息,并且操作方法永远不会被命中。
当我尝试从 Stripe 发送测试 webhook 时,我遇到了同样的问题。 仅供参考 - Ngrok 使用 'localhost:4040' 的请求时间显示我所有的响应时间为 0 毫秒。
更新 - 我收到了 ngrok 的电子邮件 “问题在于 HTTPS。ngrok 终止 HTTPS 流量,然后将未加密的 http 流量转发到您的本地应用程序。您想做以下两件事之一:
1) 让您的应用程序也公开一个 HTTP 端口并将流量转发到该端口 2) 使用 ngrok 的 TLS 隧道(将 TLS 流量交给您进行终止)。使用此选项,您将拥有执行证书管理、证书不匹配等的所有复杂性,仅供参考。如果可能的话,我会推荐 #1"
问题 - 有人知道如何使用 Https 在 ASP.Net MVC 应用程序中打开 http 端口吗?
【问题讨论】:
-
您找到解决方案了吗?
-
嗨莫顿。不,我放弃了。这可能与我在 Macbook 上通过我的 VM 运行它有关。下周当我回到应用程序的那部分工作时,我会重新讨论这个问题,并告诉你。如果您找到解决方案,请回复。
-
我发现我的问题和你的不完全一样。我让我与
ngrok.exe http -region eu -host-header=rewrite mydomain:80合作,我认为这与您的 https 问题无关。
标签: asp.net-mvc webhooks ngrok stripe.net