nginx 配置报404 问题排查

这篇具有很好参考价值的文章主要介绍了nginx 配置报404 问题排查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是小马,今天遇到一个问题,问题是这样的,我们开发了一个对接项目,我们会给对接方一个通知的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 配置报404 问题排查

蓝色部分,以确定应将请求路由到哪个服务器,如果它的值不匹配任何服务器名称,或者请求根本不包含这个头字段,那么 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://www.toymoban.com/news/detail-408712.html

到了这里,关于nginx 配置报404 问题排查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx 配置404 页面

    自己定义404 页面,通过 nginx 配置一下,重新定向 1. http 里面添加配置 2. server 中添加配置 整个nginx 配置文件 示例: 二、网上找的几个404 页面示例 直接拷贝到 html 里面就可以

    2024年03月23日
    浏览(40)
  • Nginx 报404问题,如何解决

    近日在使用服务器部署项目时,出现了一些问题,如图   正常的登录界面是可以访问的,但是在登录之后访问之后的地址会报404错误,于是去查看是否配置有错误,但是查看之后发现,nginx.conf与config.js两个配置文件的ip和端口都是没有错误的 这个项目部署过好多次,没有出

    2024年02月15日
    浏览(27)
  • 今天给大家带来Python炫酷爱心代码

    前言: 这个是小编之前朋友一直要小编去做的,不过之前技术不够所以一直拖欠今天也完成之前的约定吧! 至于他是谁,我就不多说了直接上代码 如果有需要的话,可以联系小编噢!

    2024年02月05日
    浏览(50)
  • vue-nginx刷新404问题

    先说初步得到的结论,这只是我根据测试结果的推测,并没有阅读源码探究原因。在nginx如下配置中,有’/index’路由匹配规则 由于’/index’中的 index为,导致路由匹配发生异常 ,与预期不符,把’/index’更改为’/home’,恢复正常 vue项目只有一个组件,路由模式是

    2024年02月08日
    浏览(44)
  • 解决Nginx 404反向代理问题的方法

    当你在使用Nginx进行反向代理时,有时候会遇到404错误,这是因为Nginx无法找到对应的资源。这个问题通常出现在配置反向代理的过程中,导致用户无法正常访问所需的资源,给网站的稳定性和用户体验带来负面影响。 要解决Nginx 404反向代理问题,需要注意以下几点: 1. 检查

    2024年04月12日
    浏览(53)
  • wordpress 在nginx下更改固定链接后404问题

    Nginx – WordPress.org Documentation 网上很多说法是: 但是有些主题可能会有问题,可以修改为:  

    2024年02月13日
    浏览(33)
  • 今天给大家介绍一下华为智选手机与华为手机的区别

    华为智选手机是由华为品牌方与其他公司合作推出的手机产品,虽然其机身上没有“华为”标识,但是其品质和技术水平都是由华为来保证的。这些手机在制造、设计和使用方面都采用了华为的相关技术和标准,因此可以享受到和华为旗舰手机相同的优质使用体验。    目前

    2024年02月09日
    浏览(51)
  • 今天跟大家好好介绍一下接口工具(jmeter、postman、swagger等)

    一、接口都有哪些类型? 接口一般分为两种:1.程序内部的接口 2.系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把 数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的

    2024年02月05日
    浏览(54)
  • 今天跟大家推荐几款实用的ai写作生成器

    自ai技术的发展以来,人工智能在各个领域都展现出了无限可能。在学术界,写作论文是科研人员不可避免的重要任务,然而,论文写作需要大量的时间和经验技能,而这对刚刚步入学术领域的年轻科研人员来说尤为困难。在这样的背景下,提高写作效率、降低人力成本、缩

    2024年02月13日
    浏览(45)
  • 今天跟大家分享好用的智能ai绘画免费软件有哪些

    在教学的时候配合进行ai绘画操作来讲解日常的知识,可以帮助学生更好的理解,比如在讲解化学反应的时候,我们可以通过文字描述反应的化学式和反应过程,但是这可能会让学生感到无趣和枯燥,知识没办法真正的进入大脑。而如果借助ai绘画的软件,我们可以将反应的过

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包