5

を実行する ServiceStack Windows サービスを作成しましたAppHostHttpListenerBase。サーバーのプライベート IP アドレスをリッスンすることで、リモート リクエストをリッスンするように設定できます (例:http://1.2.3.4:8080/このような場合、サーバーのパブリック IP アドレスを使用してインターネット経由でサービスを利用できますが、サーバーで実行されたリクエストはhttp://localhost:8080/失敗します。

バインディング アドレスを に変更するとhttp://*:8080/、リクエストはlocalhost成功しますが、インターネット経由でサーバーにアクセスできなくなります。503 Service Unavailable が表示されます。

Web サービスにローカル リクエストとインターネット経由のリクエストの両方をリッスンさせる方法はありますか?

そして、同様に重要なことですが、リッスン アドレスの制限を特定の IP からdo に緩める*と、インターネット経由の要求が突然失敗し始めるのはなぜでしょうか?

4

1 に答える 1

5

他のリスナーがすでにリクエストを処理している可能性があり、 * は処理されていないものにのみ一致します。参考になればと思って聞いてみましhttp://+:8080/た。HttpListenerPrefix の詳細については、https: //msdn.microsoft.com/en-us/library/system.net.httplistenerprefixcollection.add(v=vs.110).aspx を参照してください。

于 2013-08-19T15:18:13.813 に答える