私は Mac の使用に慣れており、ngrok は簡単です。必要なのはポートを指定することだけですが、私は IISExpress を初めて使用するので、ngrok や IIS を正しく使用する方法がわかりません。明確にするために、私は同僚 (会社を辞めた) から Windows マシンを継承しましたが、セットアップはローカルでうまく機能します。
ローカル URL は次のようになります。
thing.somedomain.com
IIS のバインディング セクションには、次のようなものがあります。
Type Host Name Port IP Address
http thing.somedomain.com 80 *
このページを参考にしました: https://www.twilio.com/blog/2014/03/configure-windows-for-local-webhook-testing-using-ngrok.html
指示は合理的に思えますが、私にはうまくいきません。これらの手順は、ファイル applicationhost.config を IIS 用に変更する必要があることを示しています。このファイルを見つけ、ngrok に必要なサイトの正しいセクションを見つけました。ただし、バインディング情報は IIS GUI の内容と一致しません。
<binding protocol="http" bindingInformation="*:4085:localhost" />
指示に従って、私は追加しました:
<binding protocol="http" bindingInformation="*:4085:whatever.ngrok.io" />
(ここでは、Windows で ngrok を実行するたびに、ngrok.com ではなく ngrok.io を取得します。これは奇妙に思えます。両方の方法でアクセスしようとしましたが、うまくいきませんでした。)
IIS でサイトを再起動しました (アクション メニューで)。リモート マシンから ngrok の URL にアクセスしようとすると、ngrok は 502 bad gateway を返し、リモート マシンは次のように表示します。
Failed to complete tunnel connection
The connection to http://whatever.ngrok.io was successfully tunneled to your ngrok client, but the client failed to establish a connection to the local address localhost:4085.
Make sure that a web service is running on localhost:4085 and that it is a valid address.
The error encountered was: dial tcp 127.0.0.1:4085: ConnectEx tcp: No connection could be made because the target machine actively refused it.
ローカルで localhost:4085 にアクセスしようとすると、「この Web ページは利用できません」と表示されます。localhost:80 にアクセスしようとすると、IIS が提供している別のサイトにリダイレクトされます。127.0.0.1:80 を試すと、404 エラーが発生します。
netstat -a -b を使用してみました。また、127.0.0.1 に関連付けられているすべてのポートを試しましたが、正しいサイトは表示されません (それでも、thing.somedomain.com は正しく動作します)。
私は完全に当惑しており、次に何を試せばよいのか、問題がどこにあるのかわかりません (ngrok の開始方法、ngrok へのアクセス方法、バインディングのマッピング方法、IIS の再起動方法、ファイアウォールの問題、またはその他のブードゥー教)。これは非常に単純なはずです。