如何解决.NET Core 6 Web应用部署到GoDaddy后的403访问错误?
解决.NET Core 6部署到GoDaddy Plesk后403禁止访问的问题
1. 修正部署目录路径
GoDaddy Windows Plesk主机的网站根目录默认是httpdocs或wwwroot,而非FTP根目录。你当前脚本将文件上传到FTP根目录(server-dir: ./),导致IIS无法定位网站内容,触发403错误。
修改GitHub Actions脚本中的server-dir参数:
server-dir: ./httpdocs/
若你的网站根目录是wwwroot,则改为./wwwroot/。
2. 替换构建命令为发布命令
dotnet build仅完成编译,不会生成完整的部署包(缺少依赖文件、自动生成的web.config等),正确操作是使用dotnet publish打包所有运行必需文件。
修改脚本中的构建步骤:
- name: Publish run: dotnet publish --configuration Release --no-restore --output ./publish/
同时更新local-dir指向发布目录:
local-dir: ./publish/
3. 确认Plesk的.NET Core配置
登录Plesk面板,找到对应网站:
- 进入托管设置,确认已启用.NET Core,并选择**.NET 6.0**版本;
- 检查应用池设置,确保托管模式与项目配置匹配(默认进程内模式,
dotnet publish生成的web.config会对应此设置); - 首次部署后重启应用池或网站。
4. 检查web.config文件
dotnet publish会自动生成web.config,这个文件是IIS托管ASP.NET Core应用的关键配置文件。若网站根目录缺少它,IIS无法正确处理请求,会返回403。
确认./publish/目录下存在web.config,且脚本的exclude列表未排除该文件(当前排除列表无此文件,无需修改)。
5. 验证文件权限
若以上步骤无效,可在Plesk文件管理器中:
- 找到网站根目录,右键选择更改权限;
- 确保
IIS_IUSRS用户拥有读取和执行权限。
内容的提问来源于stack exchange,提问作者Chris Barr
相关产品推荐
相关产品推荐

