web-dev-qa-db-ja.com

NgrokがPOSTリクエストをローカルホストに渡さない

StripeのWebhookをセットアップしようとしていますが、 Stripe doc に従って、仮想マシンで実行されているASP.Net MVCでコントローラーを作成しました(おそらくそれによって状況が変わります) ?)。コントローラーでアクションをテストして投稿を受信できるかどうかを確認しているので、Postmanを使用してローカルホストの投稿リクエストを送信しています。しかし、今度はNgrokを使用してローカルホストにURLを指定し、Stripeがそれを使用できるようにする必要があります。 ngrokを実行していて、これらのパラメーターを渡して実行しています

ngrok http -Host-header="localhost:44368" 44368

これが私が見るものです、すべてが大丈夫に見えます

enter image description here

でも今、ポスタマンで使ってみると

https://11d1ba97.ngrok.io/StripeWebHook/Index

502 Bad Gatewayメッセージが表示され、アクションメソッドがヒットしません。

StripeからテストWebhookを送信しようとすると、同じ問題が発生します。参考までに-「localhost:4040」を使用したNgrokからの要求時間は、すべての応答時間を0msとして表示します。

enter image description here

Update-ngrokからメールが届きました。「問題はHTTPSです。ngrokはHTTPSトラフィックを終了し、暗号化されていないhttpトラフィックをローカルアプリケーションに転送します。あなた次の2つのいずれかを実行したい:

1)アプリケーションにHTTPポートも公開させ、トラフィックをそのポートに転送します。2)ngrokのTLSトンネル(終了のためにTLSトラフィックを渡します)を使用します。このオプションを使用すると、証明書管理、証明書の不一致などを実行するすべての複雑さがあります。できれば#1をお勧めします」

質問-Httpsを使用してASP.NetMVCアプリでhttpポートを開く方法を知っている人はいますか?

6
user1186050

私の問題は、アプリケーションのブレークポイントがヒットしていなかったことです。

使っていた

ngrok http 58533

しかし、それを次のように変更すると、ブレークポイントがヒットする可能性がありました。

ngrok http -Host-header=rewrite localhost:58533
9
Joshua Duxbury

パーティーに少し遅れました:)プロパティのSSLフラグを有効にするのチェックを外すことでhttpを機能させることができました。

ステップ1:Web Apiプロジェクトを右クリックし、[プロパティ]を選択します enter image description here

ステップ2:拡張機能をダウンロードしてインストールする

https://marketplace.visualstudio.com/items?itemName=DavidProthero.NgrokExtensions

ステップ3:VisualStudioからngrokトンネルを開始する

enter image description here

https://raw.githubusercontent.com/dprothero/NgrokExtensions/master/docs/img/menu-item.png からの画像

ステップ4:転送httpURLをコピーする

enter image description here

ステップ5:Postmanに貼り付け、コントローラー/アクションを追加します

enter image description here

あなたは200を手に入れます! (賛成?:))

3
JS.