使用nginx反向代理 cookie 无法写入问题

           
 第一次使用nginx ,
 先看配置
 

```
 server {  
        listen       80; #监听的80端口
        listen       443 ssl; #监听https 443 端口
        server_name admin.yitan.com;#匹配访问域名
        ssl_certificate      1635204.pem;#证书信息 不加路径默认是conf 文件下去找
        ssl_certificate_key  1635204.key;#私钥位置 不加路径默认是conf 文件下去找
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;#session 的超时时间
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#指定密码为openssl支持的格式
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#密码加密方式
        ssl_prefer_server_ciphers  on;
         location / {
            proxy_pass http://localhost:8808;   #跳转的服务器内部地址
            root   html;
            index  index.html index.htm;
        }
    }
```
启动nginx sbin 目录 ./nginx 
访问 admin.yitan007.com 进入登录页面
输入账号密码时 ,请求后台登录成功 写入cookie 
跳转到首页时走后台拦截器 获取不到cookie 
前端 f12 也查不到cookie 最开始感觉应该是没有写进去
但是仔细想了一下应该不会是tomcat 的问题,得从nginx 配置上下手
看了一眼nginx 的配置,以为是https 的原因,就注释了这套代码 重写了一套配置。还是不行!
思考了一下前端请求后台到后台写cookie
既然写入cookie 没有报错,那很有可能是 通过转发 域名没有带过去
后来查阅了一些资料 发现自己的代码少了一段配置 

 proxy_set_header Host       $host; 
 将域名也通过nginx 转发过去就好了
它的值在请求包含“Host”请求头时为“Host”字段的值,在请求未携带“Host”请求头时为虚拟主机的主域名 
使用nginx反向代理 cookie 无法写入问题_第1张图片

在带项目的一个官网

你可能感兴趣的:(使用nginx反向代理 cookie 无法写入问题)