• nginx丢失头部信息


    nginx在代理时,后端拿不到前段发过去的请求头信息,导致接口不通。(但是在本地是可以拿到的)
    
    主要原因为nginx在做反向代理时,没有在请求时添加头部信息的配置。
    
    解决方法
    1、在nginx中添加相应配置,使其能够携带头部信息通信
    
    server {
        listen 443 ssl;
        server_name test.com;
        ssl_certificate cert/test_line.pem;
        ssl_certificate_key cert/test_line.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        # 重写请求头部host字段
        proxy_set_header Host $host;
        # 重写来源IP
        proxy_set_header X-Real-IP $remote_addr;
        # 重写http请求来源
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    添加完成后重启nginx容器docker restart nginx,发现依旧无法登陆,经过检查发现原因为前端页面header中含有_,而nginx默认会自动忽略_。
    
    2、在http端中添加
    
    http {
        include       /etc/nginx/mime.types;
    
        ......
    
        include /etc/nginx/conf.d/*.conf;
    
        # 该配置默认情况为off
        underscores_in_headers on;
    }
  • 相关阅读:
    js 模拟表单提交下载文件
    vue 刷新子组件方法解决使用v-if闪屏问题
    Java15-Tomcat&Servlet&HTTP&Request&Response
    JAVA26-SpringBoot-在线教育项目01
    20 Vue-ajax
    19 Vue-JQuery
    18 Vue-Json
    Java 20-Mybatis学习
    17 Vue-ES6语法之Promise、VueX、网络请求封装
    16 Vue-cli脚手架介绍与使用
  • 原文地址:https://www.cnblogs.com/qq376324789/p/16187482.html
Copyright © 2020-2023  润新知