0

使用 4.0.31,我的 AppHost 配置方法声明如下:

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

积极的一点是,一旦您修复了端点 url,使用“UseHttpsLinks”实际上可以让 swagger-ui 发挥作用。没有它,它根本不起作用!

我正在通过虚拟文件系统使用替换 index.html作为 hack 覆盖 swagger url 属性——因为在开发、QA 和登台环境中,url 属性指向生产......(不太好)

4

1 回答 1

1

Config.UseHttpsLinks已扩展为也适用于BaseUrl它现在在此提交中http://更改url的位置。https://

此更改可从v4.0.33+ 开始,现在可在 MyGet 上使用

于 2014-10-09T09:04:53.233 回答