前言
- ruoyi 4.6.0
- Spring Boot Version: 2.3.4.RELEASE
- nginx 1.5.11
- nginx 反向代理项目。参考这里
- 添加了 ForwardedHeaderFilter,参看这里
- 启用了HTTPS,参看这里
ruoyi若依的项目首页地址会重定向
假设访问http://mydomain/myproject
,会被重定向到http://mydomain/myproject/
(嗯,加了个/
)。
启用HTTPS/SSL后,首页重定向出错
- 访问
https://mydomain/myproject
,会被重定向到http://mydomain:443/myproject/
(嗯,加了个/
、加了个端口443
、把https
改为了http
)。 - 如果直接访问
https://mydomain/myproject/
,则可以正常访问。
分析
问题原因:ruoyi若依对https://mydomain/myproject
地址进行重定向的时候,未识别到header中的X-Forwarded-Proto
。
分析了半天,没找到出问题的代码,也就不能通过修改ruoyi若依的代码解决了。除了通过ruoyi若依解决外,还可以通过nginx解决。解决办法为:让nginx提前对https://mydomain/myproject
地址进行重定向。
解决办法
在nginx添加配置
location = /myproject {
rewrite /(.*)$ /myproject/ redirect;
break;
}