Azure 開発ファブリックで IIS アプリケーションをホストしています。
アプリケーションが Azure コンピューティング エミュレーターにデプロイされると、5100 付近のポートでリッスンする一時的な IIS アプリケーションが作成されます。パブリック エンドポイントからの着信要求は、このポートにリダイレクトされます。
ただし、Azure 開発ファブリックは、プロジェクト構成で宣言されたパブリック ポートを常に使用するとは限りません。したがって、たとえば、アプリケーションはパブリック ポート 80 を公開する必要がありますが、これを実行すると、ほとんどの場合ポート 81 になりますが、場合によってはポート 82 などになります。
したがって、アプリケーションで作成された URL が正しいことを確認できます。この外部ポートが何であるかを知りたいです。
残念ながらRequest.Url.Port
、これは一時アプリケーションのポート番号であるため、単純に見ることはできません。通常RoleEnvironment.CurrentRoleInstance.InstanceEndpoints
は 5100 です。サーバーから見た 5100 以降のポートも返すため、どちらも機能しません。