Я пытаюсь выяснить, как решить проблему, возникающую при отображении Swagger на наших серверах STAGE и PROD. Я считаю, что моя проблема в том, что у нас есть балансировщик нагрузки, который использует HTTPS для доступа, но как только вы туда доберетесь, все сайты обслуживаются по HTTP. Я считаю, что именно поэтому я получаю
Не могу прочитать с сервера. Возможно, он не имеет соответствующих настроек источника контроля доступа.
Итак, я нашел следующее на Swagger и думаю, что мне просто нужно установить мою схему на HTTP, но я не уверен на 100%, где сделать это изменение? Должен ли я добавить его в файл SwaggerConfig.cs?
https://swagger.io/docs/specification/2-0/api-host-and-base-path/
Это то, что у меня есть в моем файле SwaggerConfig.cs:
public class SwaggerConfig
{
//public static void Register(HttpConfiguration config)
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.ApiKey("Api-Token")
.Description("API Key for accessing secure APIs")
.Name("Api-Token")
.In("header");
c.SingleApiVersion("v1", "WorkdayAPI");
c.IncludeXmlComments(string.Format(@"{0}\bin\WorkdayApi.XML",
System.AppDomain.CurrentDomain.BaseDirectory));
// If you want the output Swagger docs to be indented properly, enable the "PrettyPrint" option.
c.PrettyPrint();
})
.EnableSwaggerUi(c =>
{
// If your API supports ApiKey, you can override the default values.
// "apiKeyIn" can either be "query" or "header
c.EnableApiKeySupport("Api-Token", "header");
});
}
}