基于strict-origin-when-cross-origin問題的解決
項目場景
使用90版本之后的谷歌瀏覽器,在部署前端項目后, 調(diào)用后端接口出現(xiàn) strict-origin-when-cross-origin, 并且靜態(tài)資源被攔截的情況
問題描述
使用90版本之后的谷歌瀏覽器, 在部署前端項目后, 訪問前端頁面調(diào)用后端接口出現(xiàn) strict-origin-when-cross-origin.
接口返回200, 但是沒有響應(yīng)結(jié)果, 如下圖所示
原因分析
Chrome 計劃在85版開始 將其切換默認(rèn)策略 no-referrer-when-downgrade 更換到 strict-origin-when-cross-origin. strict-origin-when-cross-origin對于同源的請求,會發(fā)送完整的URL作為引用地址;在同等安全級別的情況下,發(fā)送文件的源作為引用地址(HTTPS->HTTPS);在降級的情況下不發(fā)送此首部 (HTTPS->HTTP).
解決方案
后端程序配置全局跨域訪問配置
import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * @author * * 跨域訪問配置 */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowCredentials(true) .allowedMethods("GET", "POST", "DELETE", "PUT") .maxAge(3600); } }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳細(xì)分析java并發(fā)之volatile關(guān)鍵字
這篇文章主要介紹了java并發(fā)之volatile關(guān)鍵字的的相關(guān)資料,文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06java DataInputStream和DataOutputStream詳解及實例代碼
這篇文章主要介紹了java DataInputStream和DataOutputStream詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01SpringBoot實現(xiàn)定時發(fā)送郵件的三種方法案例詳解
這篇文章主要介紹了SpringBoot三種方法實現(xiàn)定時發(fā)送郵件的案例,Spring框架的定時任務(wù)調(diào)度功能支持配置和注解兩種方式Spring?Boot在Spring框架的基礎(chǔ)上實現(xiàn)了繼承,并對其中基于注解方式的定時任務(wù)實現(xiàn)了非常好的支持,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-03-03