• 关于nginx加载配置文件的巨坑


    关于nginx加载配置文件的巨坑

    一、巨坑问题引入

      今早前端开发又来追我一个问题,上月底29日问过(还以为他忘记了这事,或者这问题自己把自己给搞好了)。说是他本地调用线上系统的登录接口,一直转圈登不上。还一再给我强调要是登不上,调试线上环境的问题调不了(说有些账号正式环境才有,我就说你可以直接到测试环境数据库插入你想登的账号密码呀 = =)

      然后浏览器打开正式环境的登录接口,返回400,nginx我是从来没有见过返回400的状态码的,当然我自己也没有定义过,没事搞这玩意干嘛

    再看看nginx日志:

       当时逼着我查这玩意,感觉很崩溃,严重超出能力范围,也无从下手。今天又逼着我弄,真是把我逼入绝境。前运维,开发朋友都问了一轮,无果,自己也无果。

      前运维倒是叫我问拿一下开发本地转发的nginx配置文件,看看是不是写错了。还真的写错,不过改回来也是不行的。

    。。。
    server {
        listen       80;
        server_name  127.0.0.1;  
                    。。。
        location / {
            index  login.html index.htm;
        }
        location  /后端项目名/ {   
            #后端地址+端口(这个是他加的注释)
            proxy_pass     https://域名/线上后台目录/rexxxe/sexxxty_login/new;   
            。。。
         }
    }

    第一眼看,觉得转发怪怪的,以往不是proxy_pass某个地址就好了么,为啥是接口地址的。然后改过来,变成:

    proxy_pass     https://域名/线上后台目录/;

    浏览器报错还是那样:400。然后叫他重新在本地跑他的nginx,我实时看下nginx和后台日志,一条日志记录都木有!!!!

    然后只能求助公司那位中级后端开发 = =(公司跟我最好的开发同事,算半个运维吧)

    二、巨坑问题解决过程

      开发尝试把转发地址改到微信后台,也调不成功。然后这伟大的任务交给他处理了,他去看nginx配置文件(当然我也是看了一只一只看了一轮的,没有什么异样)

      终于把我拯救起来了。说是nginx有个配置文件,也是转发到后台目录的,后台转发没开。顺序原来是箭头这样的

    先简单说下这两个配置文件的区别:

    假设根域名是:ljy.com

    (1)www.conf : 

    【i】 server_name 写的是:server_name  ljy.com www.ljy.com;   

    【ii】 关了页面登录后台转发(因为他们说这个域名是没用的,我就注释了后台转发部分,以免自己搞混自己。话说线上配置文件也真是乱七八糟的,很多个域名,转发相同的应用,我也搞不清楚是不是这些域名都用到,又不敢乱关)

    (2)yjxxx.conf

    【i】 server_name 写的是:  server_name yjxxx.ljy.com;       

    【ii】  开了页面登录后台转发

    贼坑爹的事来了:

      开发本地nginx 写的server_name 127.0.0.1;   竟然默认调的是www.conf的后台转发,因为我注释了这段,所以调不成功,后台就报错了。

      而且还有个nginx加载配置文件的先后顺序,默认优先调用www.conf 再调 yjxxx.conf 的配置文件

    问题最终解决:

    两个方法(选其一即好):

    方法一:调换两个配置文件顺序,可以不开www.conf 的扫描后台转发
    方法二:不调换顺序,要开www.conf 的后台转发配置
     

  • 相关阅读:
    自动化测试
    django
    Linux软件推荐
    deepin升级20.1(2021.3)
    struts_自定义日期类型转换器
    struts_01
    JAVA面向对象思想
    springmvc 文件上传
    ajax+struts2 实现省份-城市-地区三级联动
    mybatis——分页插件
  • 原文地址:https://www.cnblogs.com/windysai/p/14371997.html
Copyright © 2020-2023  润新知