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;
    }
}

问题解决

相关推荐
xiaoliuliu123451 小时前
Kylin V10 安装 compat-gcc-44-4.4.7-8.el7.x86_64.rpm 详细步骤
linux·运维·服务器
峰顶听歌的鲸鱼1 小时前
Kubernetes-Pod
linux·运维·云原生·容器·kubernetes·云计算
敲代码的哈吉蜂1 小时前
haproxy——socat热更新工具
linux·运维·服务器
小庄梦蝶2 小时前
宝塔使用nodejs管理器下载nodejs版本失败解决方式之一
linux·运维·前端
何中应2 小时前
解决Jenkins界面操作非常慢的问题
java·运维·jenkins
was1722 小时前
轻量级多服务器监控:Beszel 的安装与实战部署
运维·服务器·状态监控
小王C语言2 小时前
【进程概念】————进程切换、环境变量
linux·运维·服务器
Codefengfeng3 小时前
压缩包的恢复
linux·运维
楼田莉子3 小时前
Linux网络学习:网络的基础概念
linux·运维·服务器·网络·c++·学习
猫头虎3 小时前
OpenClaw 常用操作命令完整速查手册:终端 CLI 操作指令详解|聊天斜杠指令详情
运维·git·容器·开源·github·aigc·ai编程