我有以下情况:
NGINX | | JavaEE
TERMINATING | -> REVERSE PROXY -> | Application
SSL (443) | HTTP | Server
反向代理通过以下方式完成:
location /app/ {
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host www.example.com;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_pass http://192.168.0.10:8080/app/;
}
问题在于,所有相对重定向都在应用程序服务器(即位置:/app/login)上完成,http://www.example.com/app/login
而不是重定向到其 https 对应部分https://www.example.com/app/login
。
因此,为了修复此问题,我将其添加到 NGINX 的位置配置中:
proxy_redirect http://www.example.com/ https://www.example.com/;
并且它开始顺利运行。
我的问题是:进行这样的重定向是一种好的做法吗?还有其他方法吗?