首页 文章

在远程环境中的web api中访问swagger时遇到问题?

提问于
浏览
1

我已经为我的Web API 2.2应用程序配置了Swagger并且它在本地加载但是当我尝试在远程服务器上访问它时出现CORS错误 . 此外,只是为了进入招摇页面,我必须非常明确地使用网址 . 例如:

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

相反:

example.com/swagger/

我认为我在之前的项目中遇到了一个类似的问题,我必须提供我的第一个示例中显示的完整显式网址,但在此前一个项目中,使用长格式网址按预期显示了工作的swagger页面 . 这是由于https配置吗?是否有一个特殊的招摇设置可以配置为允许https环境中的短网址?在远程服务器上,显示以下错误消息,显示为清楚地指示CORS错误:

“无法从服务器读取 . 它可能没有适当的访问控制源设置 . ”

我已经尝试了以下线程中的所有内容,但我仍然遇到问题:

CORS support for PUT and DELETE with ASP.NET Web API

如果我向远程服务器提交API搜索请求,则返回“Access-Control-Allow-Origin> *”的响应头,因此看起来为远程服务器启用了CORS . 不确定为什么招摇会遇到似乎是CORS错误的?

1 回答

  • 0

    您需要在SwaggerConfig文件中指定完整的根URL . 您可能面临这种情况,因为当您在本地运行时,API通过HTTP访问,但在服务器上它将是HTTP,导致CORS问题,因为您的SwaggerCongif仍然默认指向HTTP路径 .

相关问题