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

问题解决

相关推荐
三天不学习22 分钟前
Linux inotify 机制详解,解决“用户实例限制”问题
linux·运维·c#
地衣机房除尘25 分钟前
科普漫画:机房数据中心防火小剧场
大数据·运维
ZFB000137 分钟前
【麒麟桌面系统】V10-SP1 2503 系统知识——插入U盘(移动硬盘)为只读状态
linux·运维·kylin
天蓝不会忘记021 小时前
lvs,haproxy,keepalived,nginx,tomcat介绍和实验
nginx·tomcat·lvs
qizhideyu1 小时前
LVS(Linux virual server)
linux·运维·lvs
xiaoliuliu123451 小时前
CentOS 7 安装 gcc-4.8.5-44.el7.x86_64.rpm 详细步骤(含依赖解决)
linux·运维·centos
白太岁1 小时前
通信:(5) 电路交换、报文交换与分组交换
运维·服务器·网络·网络协议
nzxzn2 小时前
Keepalived 核心知识点
运维·keepalived
OpsEye2 小时前
监控 100 问(七):混合云环境下的 IT 监控策略
运维·it·监控·混合云
feng68_2 小时前
Nginx高性能Web服务器
linux·运维·服务器·nginx