通过Plesk部署Asp.Net Core 2项目遇Web Deploy授权失败求助
解决Plesk Onyx部署ASP.NET Core 2时的Web Deploy授权错误
针对你遇到的「连接到服务器但无法授权」问题,结合Plesk Onyx 17.8.11 Update #6和IIS 8.5的环境,我整理了几个针对性的排查和修复步骤:
1. 使用Plesk生成的专用发布账号
Plesk的Web Deploy集成不推荐用服务器本地管理员账号,你得用Plesk后台生成的专属凭据:
- 登录Plesk后台,找到目标域名,进入「网站与域名」>「Web部署」
- 复制这里自动生成的发布用户名和密码,替换你Visual Studio发布配置里的原有账号
- 注意:用户名格式通常是
{plesk主用户名}\{域名专属用户名},比如admin\mydomain_deploy,别漏掉前缀
2. 检查Web Deployment Agent Service的运行配置
有时候服务权限会导致授权失败:
- 登录服务器,打开「服务」找到「Web Deployment Agent Service」
- 右键选「属性」>「登录」标签,确认服务是用「本地系统账户」运行的(Plesk默认是这个配置,若被修改过要改回来)
- 重启该服务后再尝试发布
3. 验证Plesk的Web Deploy扩展权限
Plesk的Web Deploy扩展可能需要调整权限设置:
- 进入Plesk「扩展」>「已安装的扩展」,找到「Web Deploy」打开设置
- 确保「允许使用Web Deploy发布网站」已开启,且你的域名对应的Plesk用户已被分配「管理权限」
- 同时确认Web Deploy版本在3.6及以上(ASP.NET Core 2对这个版本兼容性更好)
4. 调整ASP.NET Core应用池身份
ASP.NET Core项目的应用池身份配置也会间接影响部署:
- 在Plesk域名设置里,进入「网站与域名」>「主机设置」>「应用程序池」
- 确认应用池身份是「专用账户」(Plesk为该域名创建的专属账户),而非「本地系统」等其他账户
- 手动检查该账户对网站根目录的读写权限:右键网站目录>「属性」>「安全」标签,确保账户有修改、写入权限
5. 排查端口连通性
有些时候端口不通会伪装成授权错误:
- 确保服务器的8172端口(Web Deploy默认端口)在本地防火墙和云服务商安全组中都是开放的
- 可以在本地用
telnet www.domain.co.uk 8172测试端口连通性,不通的话先解决端口开放问题
如果以上步骤都没用,你可以开启Visual Studio的详细发布日志:
- 在发布配置的「设置」>「更多选项」里,勾选「启用详细日志记录」
- 重新发布后查看日志细节,能帮你定位更具体的权限问题
内容的提问来源于stack exchange,提问作者Matthew Flynn
相关产品推荐
相关产品推荐

