возникли проблемы с доступом к Swagger в веб-API в удаленных средах? - PullRequest
0 голосов
/ 02 мая 2018

Я настроил Swagger для своего приложения Web API 2.2, и он загружается локально, но я получаю ошибку CORS, когда пытаюсь получить к нему доступ на удаленном сервере. Кроме того, просто чтобы попасть на чванскую страницу, я должен очень четко указать URL. Например:

https://example.com/swagger/ui/index

В отличие от:

example.com / чванство /

Я думаю, что столкнулся с несколько похожей проблемой в предыдущем проекте, где мне пришлось предоставить полный явный URL-адрес, как показано в моем первом примере, но в этом предыдущем проекте, используя длинный URL-адрес формы, отображал рабочую чванскую страницу, как и ожидалось. Это связано с конфигурацией https? Есть ли специальный параметр swagger, который можно настроить, чтобы разрешить короткий URL-адрес в среде https? На удаленных серверах отображается следующее сообщение об ошибке, которое явно указывает на ошибку CORS:

"Не удается прочитать с сервера. Возможно, он не имеет соответствующих настроек источника контроля доступа."

Я пробовал все в следующей теме, но у меня все еще есть проблема:

Поддержка CORS для PUT и DELETE с ASP.NET Web API

Если я отправляю запрос на поиск API на удаленный сервер, то возвращается ответный заголовок «Access-Control-Allow-Origin> *», поэтому кажется, что CORS включен для удаленного сервера. Не знаете, почему сваггер сталкивается с ошибкой CORS?

1 Ответ

0 голосов
/ 27 мая 2018

Вам необходимо указать полный корневой URL-адрес в файле SwaggerConfig. Вы можете столкнуться с этим, так как при локальном запуске API-интерфейс доступен через HTTP, но на сервере это будут HTTP, вызывающие проблему CORS, поскольку ваш SwaggerCongif по-прежнему будет по умолчанию указывать на путь HTTP.

...