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

问题解决

相关推荐
源代码•宸1 小时前
网络流量分析——基础知识(二)(Tcpdump 基础知识)
运维·开发语言·网络·c++·经验分享·tcpdump
_童年的回忆_3 小时前
Linux下解决Git保存用户名和密码的方法
linux·运维·git
童先生6 小时前
Nginx + Vue/React 前端 + API:防止路径混淆漏洞与跨域问题实战分享
前端·vue.js·nginx
东心十7 小时前
Win11安装WSL、Docker Desktop
运维·docker·容器
奔跑草-8 小时前
【服务器】Apache Superset功能、部署与体验
运维·服务器·apache·powerbi·superset
提笔惊蚂蚁8 小时前
终端VS命令解释器(Linux & Windows)
linux·运维·windows
羊锦磊9 小时前
[ Servlet 服务器]
运维·服务器·servlet
tb_first10 小时前
k8sday13数据存储(1.5/2)
linux·运维·服务器·云原生·容器·kubernetes
phoenix098114 小时前
Linux入门DAY29
linux·运维
一休哥助手14 小时前
Naive RAG:简单而高效的检索增强生成架构解析与实践指南
运维·人工智能·架构