nginx 代理接口报404 问题排查

今天遇到一个nginx代理后端接口请求报404的问题,问题是这样的,后端由于服务器没有环境,但是需要和前端联调,于是采用cpolar内网穿透的方式,穿出来了。但是前端请求跨域,于是前端用nginx代理了一下后端接口,但是报404.

由于线上nginx 配置比较复杂,我就简化写下当时的nginx配置

复制代码
server {
    listen       80;
    server_name test.xxxxx.cn
    
    location /api {
       include proxy.conf;
       proxy_pass http://127.0.0.1:8888;
    }
}

前端调用www.xxxxx.cn/api的时候一直报404,根据nginx访问日志查,看到access.log 是有记录,而且返回404。

红圈部分,已确定应将请求路由到哪个服务器,如果它的值不匹配任何服务器名称,或者请求根本不包含这个头字段,那么 nginx 将把请求路由到这个端口的默认服务器

那解决方案就是配置Host

复制代码
server {
    listen       80;
    server_name www.xxxxx.cn
    
    location /api {
        include proxy.conf;
        proxy_set_header Host 127.0.0.1;
        proxy_pass http://127.0.0.1:8888;
    }
}

问题解决

相关推荐
坚持就完事了28 分钟前
Linux中的权限信息
linux·运维·服务器
殷紫川39 分钟前
告别手动部署噩梦:CI/CD 持续交付全链路实战
运维·架构·自动化运维
supersolon1 小时前
WSL2(Linux)升级docker
linux·运维·docker·wsl·升级
人工干智能2 小时前
用AI写Fusion 360脚本:个人版也能免费玩自动化
运维·人工智能·自动化·fusion
赛博云推-Twitter热门霸屏工具2 小时前
社交媒体自动化营销趋势分析:未来3年怎么玩(2026-2029)
运维·自动化·媒体
路由侠内网穿透.2 小时前
本地部署开源书签管理工具 LinkAce 并实现外部访问( Linux 版本)
linux·运维·服务器·网络·网络协议·开源
ljh5746491192 小时前
linux awk 命令
linux·运维·chrome
我是谁??3 小时前
Rocky9+ Docker + 容器内Linux桌面环境 + Web远程
运维·docker·容器
阿虎儿3 小时前
Ubuntu 如何开启 Root 用户 SSH 登录
运维
the sun343 小时前
Linux驱动开发:环境准备与报错处理
linux·运维·服务器