Nginx运维寻坑记

2019-03-29  本文已影响0人  zorkelvll
image

ZERO

    持续更新 请关注:https://zorkelvll.cn/blogs/zorkelvll/articles/2018/11/14/1542126572569

背景

  本文主要是介绍在Nginx使用运维过程中所遇到的一些坑爹的地方,予自己以做记录,既是为自己后续查找问题提供方便,也是希望能够给各位猿友减少一些踩坑的过程!

前言

经过前一段时间的思考设计与整合,最终为公司目前的所有项目系统的管理员页面设计成了一个单点登录系统(该系统将在后续专门整理专题讲解设计与实现思路),然后今天在将其中的一个项目系统进行上线整合的过程中,对于配置的nginx中踩了个小坑,现在此做一个记录以备后续参考和学习!    

正记

入坑3

1、描述

  nginx反向代理多个springboot-jar应用,作为统一对外提供的服务网关,而通过nginx在swagger-ui.html页面api文档中发起各个接口请求时,实际请求的地址是127.0.0.1问题

2、解决方案:

  在nginx.conf中的配置反向代理时,添加proxy_set_header Host $http_host;配置项即可,如


nginx1.jpeg

入坑2

1、描述

  linux-root用户下配置的nginx,访问页面时报错403 Forbidden,nginx-log显示为Permission denied

2、说明:

  nginx配置项中nginx.conf中的用户配置默认为nobody,也即#user nobody;,而当前用户是root

3、解决方案:

  在nginx.conf中的配置#user nobody;更改为user root;,,,则可以解决!

入坑1

1、描述

  由postman模拟前端请求的接口中携带的header,java-tomcat后端可以成功获取到;但是在线上的服务器中传输过来的ajax请求携带的header却被服务器的java后端获取到为null,事实上前端F12检查查看到的是实际发送的请求确实是携带有header的,而且ajax的js代码与以前可以正常使用被获取到的js代码是一样的

2、说明:
    if (ch == ‘_’) {
      if (allow_underscores) {
        hash = ngx_hash(hash, ch);
        r->lowcase_header[i++] = ch;
        i &= (NGX_HTTP_LC_HEADER_LEN – 1);
      } else {
        r->invalid_header = 1;
      }
3、解决方案:
上一篇 下一篇

猜你喜欢

热点阅读