Access-Control-Allow-Origin跨域問題,奇葩的抽風現象!!!

現象:今天在做服務器遷移時,跨域攔截死活不讓通過,,,生產系統是採取前後端分離,前端用的是Vue,各種度各種方法各種試,這大把大把的時間花花流失。。。

1、第一種方式:從瀏覽器屬性中加配置“--args --disable-web-security --user-data-dir” 。。。效果沒什麼卵用

google瀏覽器右鍵屬性,《目標》中在最後加入“--args --disable-web-security --user-data-dir”

2、第二種方式:在Java 中的HandlerInterceptor中對《Access-Control-Allow-Origin》進行攔截,因爲是生產系統運行了好久,基本不會出什麼問題,但還是check一下

public class HandlerInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        response.addHeader("Access-Control-Allow-Origin", "*");
        response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,token,msg");
        response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT,DELETE");
        response.addHeader("Access-Control-Allow-Credentials", "true");

        return true;
    }

 

3、第三種方式:配置tomcat

在tomcat的web.xml第500多行加入,加入後重啓服務問題解決

<filter>
      <filter-name>CorsFilter</filter-name>
      <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
      <init-param>
        <param-name>cors.allowed.origins</param-name>
        <param-value>*</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>CorsFilter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章