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

问题解决

相关推荐
前端世界4 小时前
从零搭建多子网 DHCP 服务:CentOS 双网卡多作用域实战与原理解析
linux·运维·centos
头发那是一根不剩了4 小时前
Docker Desktop 安装教程和最佳实践
运维·docker·容器
路由侠内网穿透.5 小时前
本地部署轻量级持续集成工具 Drone CI 并实现外部访问
运维·服务器·ci/cd·远程工作
tianyuanwo6 小时前
K8s Dashboard运维技巧全面经验总结
linux·运维·kubernetes
无敌的牛7 小时前
Linux操作系统
linux·运维·服务器
半梦半醒*7 小时前
k8s——services资源+pod详解1
linux·运维·docker·kubernetes·centos·负载均衡
IndulgeCui7 小时前
【金仓数据库产品体验官】KSQL Developer Linux版安装使用体验
linux·运维·数据库
半旧夜夏7 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存
苹果醋38 小时前
element-ui源码阅读-样式
java·运维·spring boot·mysql·nginx
Biomamba生信基地8 小时前
Linux| 二.计算机软件组成与Linux
linux·运维·服务器·生信·医药