0

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 プロパティをオーバーライドしています...(あまり良くありません)

4

1 に答える 1

1

Config.UseHttpsLinksこの commit でURL をBaseUrl変更する場所にも適用されるように拡張されました。http://https://

この変更は、 MyGet で利用できるようになったv4.0.33+から利用できます

于 2014-10-09T09:04:53.233 に答える