摘要
在前后端分离项目中,当我使用 http 代理前端,用 Spring Boot 的 https 提供的接口时,出现了问题。
问题
在浏览器中输入访问地址时,http 会被自动转为 https, 导致项目无法正常访问。
导致问题的原因
当后端使用 Spring Security 并开启 https 时,响应头会增加一个字段 Strict-Transport-Security: max-age=31536000 ; includeSubDomains
正是因为多了这个字段,浏览器才会自动将 http 协议的地址强制转换为 https。
解决思路
前后端都使用 https 来提供服务。