发布ASP.NET Core MVC应用至HostGator时遭遇403 ERROR (FORBIDDEN)
排查HostGator部署ASP.NET Core MVC出现403 Forbidden错误的常见原因
站点根目录指向错误:HostGator站点需将文档根目录直接指向你上传的发布文件所在目录,比如你把发布文件传到
public_html/MyMvcApp,就要在cPanel的站点设置里把根目录改成这个路径,而不是默认的public_html。Web.config或反向代理配置缺失/错误:
- 若用Windows主机,必须确保发布生成的
web.config存在,且aspNetCore节点配置正确,比如指定正确的dotnet路径和你的项目DLL文件名:<aspNetCore processPath="dotnet" arguments=".\YourProjectName.dll" stdoutLogEnabled="false" hostingModel="inprocess" /> - 若用Linux主机,需添加
.htaccess文件配置反向代理,确保请求能转发到ASP.NET Core程序:RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ dotnet YourProjectName.dll [NC,L]
- 若用Windows主机,必须确保发布生成的
文件/目录权限异常:
- 所有文件权限设为
644,目录权限设为755; - 如果启用了日志输出,确保
logs目录有写入权限; - 检查cPanel中是否已开启对应版本的.NET Runtime支持,HostGator部分主机需要手动启用。
- 所有文件权限设为
默认文档未配置:
- 在cPanel的「默认页面」设置中,添加
Index.cshtml或确认默认文档列表包含ASP.NET Core的入口页面; - 同时检查项目
Program.cs中的路由配置,确保默认路由指向Home/Index:app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
- 在cPanel的「默认页面」设置中,添加
发布环境与主机不兼容:
- 确认发布时选择的是Release模式,Debug模式文件无法在生产环境正常运行;
- 核对主机支持的.NET Core版本和项目目标框架一致,比如项目用.NET 6,主机必须安装.NET 6 Runtime。
内容的提问来源于stack exchange,提问作者Caique Castro
相关产品推荐
相关产品推荐

