You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Android访问Plesk托管的ASP.NET Core API返回404错误如何解决

Plesk Windows托管ASP.NET API调用返回404问题排查方案

1. 先确认HttpClient路径拼接规则

  • 你的AppSettings.ApiUrl结尾必须加斜杠,示例:https://yourdomain.com/yourapp/,不能写成https://yourdomain.com/yourapp
  • 调用PostAsync时的路径不要加开头的斜杠,正确写法是PostAsync("api/Autoriza/Login", content),如果加了开头的/,HttpClient会忽略BaseAddress的后缀路径,直接请求域名根路径下的地址,大概率会404。

2. 检查Plesk站点ASP.NET配置

  • 登录Plesk后台,进入对应站点的「ASP.NET设置」,确认部署的.NET运行时版本和本地开发环境完全一致
  • 检查站点根目录下的web.config文件,确认ASP.NET Core模块配置正确:
    <aspNetCore processPath="dotnet" arguments=".\你的项目名.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    
    Plesk自动生成的配置可能会写错dll路径或者hostingModel参数,导致路由无法匹配返回404。

3. 确认API路由属性配置

  • 你的Login接口必须显式标注[HttpPost]属性和对应的路由规则,示例:
    [ApiController]
    [Route("api/[controller]")]
    public class AutorizaController : ControllerBase
    {
        [HttpPost("Login")]
        public IActionResult Login(inLogin inusuario)
        {
            // 你的业务逻辑
        }
    }
    
    本地IIS Express路由规则宽松,缺失属性可能也能运行,但Plesk的IIS严格匹配路由规则,缺失属性就会返回404。

4. 排查Plesk重写规则冲突

  • 如果你在Plesk中配置了HTTP转HTTPS、伪静态等重写规则,先临时关闭规则再测试请求
  • 部分不规范的重写规则会丢弃POST请求的Body,或者重定向时修改请求路径,导致路由匹配失败。

5. 确认大小写与路径一致性

  • Plesk的IIS默认开启大小写敏感匹配,确认你请求的路径和API路由定义的大小写完全一致,包括控制器名、方法名的大小写。

内容的提问来源于stack exchange,提问作者Wesley Henrique dos Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:15:05