iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >nginx 配置报404 问题排查
  • 630
分享到

nginx 配置报404 问题排查

nginx运维java 2023-08-31 06:08:37 630人浏览 安东尼
摘要

大家好,我是小马,今天遇到一个问题,问题是这样的,我们开发了一个对接项目,我们会给对接方一个通知的url,以通知我们订单的变更,但是我们给的通知url是线上的,测试环境的配置并没有给对方,并且对方没有测试环境,所以只能用线上测试。 我们代码

大家好,我是小马,今天遇到一个问题,问题是这样的,我们开发了一个对接项目,我们会给对接方一个通知的url,以通知我们订单的变更,但是我们给的通知url是线上的,测试环境的配置并没有给对方,并且对方没有测试环境,所以只能用线上测试。

我们代码开发完毕后,想测试通知接口,但想着通知他们把线上接口更改成测试环境,流程比较复杂,以后版本上线还得切换成线上环境,多此一举。所以我们想到用Nginx做反向代理。

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

测试环境:

server {    listen       80;    server_name test.xxxxx.cn        location /notice {       include proxy.conf;       proxy_pass Http://127.0.0.1:8899;    }}

生产环境:

server {    listen       80;    server_name www.xxxxx.cn        location /notice {      include proxy.conf;      proxy_pass http://test.xxxxx.cn;    }}

这样我们在访问www.xxxxx.cn/notice 的时候一直报404,根据nginx访问日志查,我们看到生产环境域名的access.log 是有记录,而且返回404,但测试环境域名的access.log并没有日志。

一开始我们以为是不是斜杠拼错了,排查了许久,但发现也不是,下篇我会再讲一下nginx使用斜杠注意事项。

后面找了下架构师,姜还是老的辣,才查出问题出在哪里。

nginx将请求的标头字段"Host",也就是

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

在上面的配置中访问www.xxxxx.cn/notice,请求到生产的时候,由于生产环境配置 server_name www.xxxxx.cn所以可以请求到,但是代理到test.xxxxx.cn时候因为请求中的Host还是www.xxxxx.cn,所以在测试环境的nginx并没有匹配到www.xxxxx.cn server_name,所以返回404。

那解决方案就是配置Host

生产环境:

server {    listen       80;    server_name www.xxxxx.cn        location /notice {        include proxy.conf;        proxy_set_header Host test.xxxxx.cn;        proxy_pass http://test.xxxxx.cn;    }}

具体文档可以参考:

https://nginx.p2hp.com/en/docs/http/request_processing.html

好了,问题就这样结束了,关注我,下次分享更多的线上问题以及解决方案。

来源地址:https://blog.csdn.net/s827292890/article/details/129519489

--结束END--

本文标题: nginx 配置报404 问题排查

本文链接: https://www.lsjlt.com/news/384517.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • nginx 配置报404 问题排查
    大家好,我是小马,今天遇到一个问题,问题是这样的,我们开发了一个对接项目,我们会给对接方一个通知的url,以通知我们订单的变更,但是我们给的通知url是线上的,测试环境的配置并没有给对方,并且对方没有测试环境,所以只能用线上测试。 我们代码...
    99+
    2023-08-31
    nginx 运维 java
  • Nginx怎么配置404页面
    这篇文章主要讲解了“Nginx怎么配置404页面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx怎么配置404页面”吧!第一种:Nginx自己的错误页面Nginx访问一个静态的htm...
    99+
    2023-06-27
  • Nginx图片服务器配置之后图片访问404的问题解决
    我的错误配置是: 服务器文件根地址: 想通过浏览器输入这个地址访问到图片: 但是会发现文件找不到会一直404,原因是根路径配置错误,来看下root路径原理: root 配置的意...
    99+
    2024-04-02
  • Nginx图片服务器配置后图片访问404问题怎么解决
    本文小编为大家详细介绍“Nginx图片服务器配置后图片访问404问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Nginx图片服务器配置后图片访问404问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-29
  • Vue代理报错404问题及解决(vue配置proxy)
    目录Vue代理报错404问题第一种路径拼接 /api 情况第二种路径不变情况注意点新增说明:配置多个代理怎么搞?总结Vue代理报错404问题 问题描述: 代理后出现404: 第一...
    99+
    2022-12-08
    Vue代理报错404 Vue代理报错 vue配置proxy
  • 前端部署nginx刷新后404,解决Nginx刷新页面后404的问题
    问题描述: 使用Nginx部署后,登录页面刷新一下就出来404,如下图: 刷新以后 ,页面变成404 Not Found 解决方案: 查看了一下nginx配置,出现问题的配置是这样的: server { liste...
    99+
    2023-09-10
    前端 服务器 运维
  • nginx + thinkphp解决访问控制器报404/403
    nginx不支持url的pathinfo,解决方法之一是配置伪静态 代码 location / {if (!-e $request_filename){rewrite ^(.*)$ /index.phps=$1 last; ...
    99+
    2023-08-31
    nginx 运维 php
  • buildcheck包报错问题排查解决
    目录问题原因解决方法一方法二方法三方法四总结问题 最近项目开发中遇到 buildcheck 包抛错,因修复该报错占用了一点时间,特此这里记录下。 因项目本地部署需要上传打包文件,使...
    99+
    2023-02-09
    buildcheck包报错排查 buildcheck包报错
  • SpringBoot如何解决配置SwaggerUI访问404错误的问题
    这篇文章将为大家详细讲解有关SpringBoot如何解决配置SwaggerUI访问404错误的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SpringBoot 配置SwaggerUI 访问404的小...
    99+
    2023-05-30
    springboot swaggerui 404
  • 关于springmvc报错404的问题
    最近初学springmvc,做了一个简单工程实现Conntroller加载,一直报错404,调试许久没找到问题,请求帮助,多谢各位了! 编程环境:win10x64+ecli...
    99+
    2024-04-02
  • Tomcat报404问题如何解决
    这篇文章主要讲解了“Tomcat报404问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Tomcat报404问题如何解决”吧!Tomcat报404问题解决正确的情况正确的运行框:正...
    99+
    2023-07-05
  • Nginx如何配置TP5.1及所遇问题
    这篇文章将为大家详细讲解有关Nginx如何配置TP5.1及所遇问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Nginx用户对项目目录的访问权限cd /usr/local/nginx/html...
    99+
    2023-06-22
  • Nginx配置解决NetCore的跨域问题
    使用Nginx配置解决NetCore的跨域 废话不多说,直接上Nginx配置 server { listen 80; server_name 你的Id或域名;...
    99+
    2024-04-02
  • mysqlimport如何排查导入报错问题
    这篇文章给大家分享的是有关mysqlimport如何排查导入报错问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 之前有个同事问我一个mysqli...
    99+
    2024-04-02
  • nginx 配置解决前端跨域问题
    一、为什么会出现跨域问题        出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策...
    99+
    2023-09-10
    前端 nginx 服务器
  • Swagger2配置方式(解决404报错)
    目录Swagger2配置(解决404报错)一、引入依赖二、编写配置文件三、解决404报错swagger配置好后仍然404问题Swagger2配置(解决404报错) 在spring b...
    99+
    2024-04-02
  • Tomcat正常访问localhost报404问题解决
           今天在配置Tomcat访问项目主页的时候发现报404错误,开始以为是我的项目xml配置有问题,结果...
    99+
    2024-04-02
  • Nginx location 和 proxy_pass路径配置问题小结
    目录一、Nginx location 基本配置1.1、Nginx 配置文件1.2 、Python 脚本二、测试2.1、测试 location2.2、测试 location2.3、测试...
    99+
    2024-04-02
  • 关于Nginx开启gzip的配置的问题
    nginx实现资源压缩的原理是通过ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip压缩,该模块是默认基础的,不需要重新编译,直接开启即可。 基...
    99+
    2024-04-02
  • 聊聊配置 Nginx 访问与错误日志的问题
    目录配置Nginx访问日志配置错误日志日志文件的位置读取和理解Nginx日志文件Nginx是一个开放源代码的高性能HTTP和反向代理服务器,负责处理Internet上某些最大站点的负...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作