一、背景说明
项目中Https强转逻辑是在nginx层面配置的,Cross跨域逻辑处理是在项目的Java代码层面处理的。
向服务器发起Http跨域请求时,出现Cross跨域逻辑处理失效问题
nginx 中Https 强转配置,如下所示:
if ($server_port = 80 ) {
rewrite ^(.*)$ https://$host$1 permanent;
}
Cross跨域逻辑处理层,代码如下所示:
String originUrl = request.getHeader("origin");//请求的地址
if (StringUtils.isNotEmpty(originUrl)){
if (originUrl.endsWith("test.com")){
response.setHeader("Access-Control-Allow-Origin", originUrl);
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
response.setHeader("Access-Control-Max-Age", "1800");//30分钟
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-T