StripeのWebhookをセットアップしようとしていますが、 Stripe doc に従って、仮想マシンで実行されているASP.Net MVCでコントローラーを作成しました(おそらくそれによって状況が変わります) ?)。コントローラーでアクションをテストして投稿を受信できるかどうかを確認しているので、Postmanを使用してローカルホストの投稿リクエストを送信しています。しかし、今度はNgrokを使用してローカルホストにURLを指定し、Stripeがそれを使用できるようにする必要があります。 ngrokを実行していて、これらのパラメーターを渡して実行しています
ngrok http -Host-header="localhost:44368" 44368
これが私が見るものです、すべてが大丈夫に見えます
でも今、ポスタマンで使ってみると
502 Bad Gatewayメッセージが表示され、アクションメソッドがヒットしません。
StripeからテストWebhookを送信しようとすると、同じ問題が発生します。参考までに-「localhost:4040」を使用したNgrokからの要求時間は、すべての応答時間を0msとして表示します。
Update-ngrokからメールが届きました。「問題はHTTPSです。ngrokはHTTPSトラフィックを終了し、暗号化されていないhttpトラフィックをローカルアプリケーションに転送します。あなた次の2つのいずれかを実行したい:
1)アプリケーションにHTTPポートも公開させ、トラフィックをそのポートに転送します。2)ngrokのTLSトンネル(終了のためにTLSトラフィックを渡します)を使用します。このオプションを使用すると、証明書管理、証明書の不一致などを実行するすべての複雑さがあります。できれば#1をお勧めします」
質問-Httpsを使用してASP.NetMVCアプリでhttpポートを開く方法を知っている人はいますか?
私の問題は、アプリケーションのブレークポイントがヒットしていなかったことです。
使っていた
ngrok http 58533
しかし、それを次のように変更すると、ブレークポイントがヒットする可能性がありました。
ngrok http -Host-header=rewrite localhost:58533
パーティーに少し遅れました:)プロパティのSSLフラグを有効にするのチェックを外すことでhttpを機能させることができました。
ステップ1:Web Apiプロジェクトを右クリックし、[プロパティ]を選択します
ステップ2:拡張機能をダウンロードしてインストールする
https://marketplace.visualstudio.com/items?itemName=DavidProthero.NgrokExtensions
ステップ3:VisualStudioからngrokトンネルを開始する
( https://raw.githubusercontent.com/dprothero/NgrokExtensions/master/docs/img/menu-item.png からの画像
ステップ4:転送httpURLをコピーする
ステップ5:Postmanに貼り付け、コントローラー/アクションを追加します
あなたは200を手に入れます! (賛成?:))