4.0.31 を使用すると、AppHost の Configure メソッドは次のように宣言されます。
public override void Configure(Funq.Container container)
{
HostConfig hc = new HostConfig()
{ HandlerFactoryPath = "api", UseHttpsLinks = true };
SetConfig(hc);
Plugins.Add(new CorsFeature());
Plugins.Add(new SwaggerFeature());
...
}
これにより、swagger-ui の URL が ../api/resources の https バージョンに設定されるという印象を受けましたが、次のように、swagger URL テキストボックスで通常の http エンドポイントを引き続き取得しています。
http://example.com/myapp/api/resources
当社の Web サーバーは、SSL オフロードを実行する (SSL を必要とする) ロードバランサーの背後にあるため、URL は次のようになります。
https://example.com/myapp/api/resources
良い点として、「UseHttpsLinks」を使用すると、エンドポイント URL を修正すると、実際に swagger-ui が機能するようになります。それなしではまったく機能しませんでした!
開発、QA、およびステージング環境では、url プロパティが本番環境を指しているため、ハックとして仮想ファイル システムを介して代わりの index.html を使用して、swagger url プロパティをオーバーライドしています...(あまり良くありません)