如何解决Nginx代理丢失Cookies问题?

Reverse Proxy

1 前言

一个问题,一篇文章,一出故事。
笔者接到任务需要把Tomcat的其中一个应用号使用Nginx代理,详细要求如下,
上游服务器URL:http://tomcat.cmdschool.org:8080/appname/
反向代理URL:https://appname.cmdschool.org/
然而笔者完成基本的代理配置后,详细如下,

如何Nginx代理上游的子项目或文件夹?


发现代理的项目的用户无法登录,经过日志分析配合程序员的代码调试,确定原因为Cookies丢失。
于是尝试通过“proxy_cookie_path”指令可以解决。

2 最佳实践

2.1 创建反向代理配置文件

vim /etc/nginx/conf.d/appname.cmdschool.org_443.conf

加入如下配置,

server {
  listen 443 ssl;
  server_name appname.cmdschool.org;
  include /etc/nginx/public/ssl_default.conf;

  location / {
    rewrite ^/appname/(.*)$ /$1 redirect;
    proxy_pass http://tomcat.cmdschool.org:8080/appname/;
    proxy_cookie_path /appname /;
    #...
  }
}

2.2 重载服务使配置生效

systemctl reload nginx.service
systemctl status nginx.service
没有评论

发表回复

Nginx
如何解决Nginx代理传大文件不同步问题?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境遇到用户透过反向代理上传大文件提示用户已经完成 …

Reverse Proxy
如何解决病毒网关不能上传问题?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境的病毒网关遇到上传文件过大报500错误,关于病 …

Reverse Proxy
如何用Nginx反向代理WordPress?

1 前言 一个问题,一篇文章,一出故事。 笔者的WordPress安装Google的Site Kit …