Swagger给了我HTTP错误403.14 - 禁止
本文关键字:禁止 错误 HTTP Swagger | 更新日期: 2023-09-27 18:31:33
我正在尝试将Swagger与Web API一起使用。我只是使用随Visual Studio一起安装的 ASP.NET 4.6模板中的"Azure API App"模板,其中包括Swashbuckle.Core
和SwaggerConfig.cs
。API 工作正常(我能够成功调用它),但如果我尝试转到"http://mybaseurl/swagger/",我会收到此错误:
HTTP 错误 403.14 - 禁止访问 Web 服务器配置为不列出 此目录的内容。
似乎 Swagger 没有加载什么的。以前还有其他人得到这个吗?我似乎无法绕过这个问题。谢谢,如果我能提供更多细节,请告诉我。
这是我的SwaggerConfig.cs的样子:
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
namespace With.Api
{
public class SwaggerConfig
{
public static void Register(HttpConfiguration config)
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
config.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "With.Api");
})
.EnableSwaggerUi();
}
}
}
我刚刚遇到了同样的问题。当我将我的应用程序部署到 Azure 时,它运行良好,但是当我在本地启动它时,Swagger 不会如上所述显示。恢复到我知道以前可以工作的先前版本也无济于事,因此它似乎与IIS express有关。我不完全确定是什么导致了这个问题(我已经更改了一些与SSL相关的设置),但是当我删除.vs文件夹(其中包含applicationhost.config文件)并重新启动Visual Studio时,它又开始工作了。
这是一个老问题,但对于面临相同问题的人来说会很有帮助
如果您的项目在根级别有一个名为 swagger
的文件夹,则会发生冲突,您将无法访问 Swagger hostname/swagger
。
解决方案是将Swagger文件夹重命名为另一个名称,然后它就可以工作了。
在 2021/2022 年向你袭来,这是一个有趣的问题。
如果你使用的是macOS,苹果的新Airplay功能默认处于打开状态,并监听端口5000和7000......叹息。与默认招摇端口(也是 5000)的严重冲突!
只需转到"系统偏好设置>共享">取消选中列表底部的"AirPlay 接收器"。然后重新启动您的 .NET 应用程序,Swagger UI 最终应该再次显示在您的浏览器中!
希望这对遇到这个奇怪问题的人有所帮助!
我遇到了同样的问题。在尝试了几件事之后,它仍然不起作用。然后,我尝试按照以下链接中的建议更改 Web API 应用程序端口号,它起作用了。我不确定是什么导致了这个问题。
https://github.com/domaindrivendev/Swashbuckle/issues/618
我有这个问题,这是路由和静态目录冲突。对于 Web API 2,请确保没有名为"swagger"的静态文件夹。对于 .NET Core,请删除 wwwroot 中名为"swagger"的文件夹。
尝试使用此 URL,http://mybaseurl/swagger/ui/index
而不是http://mybaseurl/swagger/
某种原因,更改Application_Start中的调用顺序将解决问题,这就是我所拥有的:
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
**GlobalConfiguration.Configure(SwaggerConfig.Configure);**
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
XmlConfigurator.Configure();
这在.net核心Web api中解决了我的问题
安装此 nuget 包Microsoft.AspNetCore.StaticFiles