/ / CORS:起点がaccess-control-allow-originヘッダー(IE11)に見つかりません - Java、ネットワーキング、コア、インターネットエクスプローラ11、インフラストラクチャ

CORS:originがaccess-control-allow-originヘッダー(IE11)に見つかりません - Java、ネットワーキング、コア、インターネットエクスプローラ11、インフラストラクチャ

私は別のページにPOSTをするWebページを持っています他のサブドメイン(subdomain1.domain.com - > subdomain2.domain.com)で、私はその状況を可能にするためにCORを設定する必要があることを理解しています。私はすべての設定をしました、そしてそれはCHROME、FIREFOXそしてIE11で動作します。

しかし、例外があります、IE11 on MY CLIENT NETWORKでは、リクエストは「オリジンがaccess-control-allow-originヘッダーに見つかりません」を返しても機能しません。

私はそれが私のクライアントネットワークで要求がSECURITYヘッダーを返さないために起こることを知ります。以下の画像はそれをよりよく説明することができます。

IE11外部のクライアントネットワーク (赤ではCORSがサーバーから戻ってきます)

IE11外部クライアントネットワーク

IE11クライアントネットワーク内に (サーバーからのセキュリティヘッダーの返信はありません)

ここに画像の説明を入力

JAVAコードサーバーCORSフィルター (サーバーからのセキュリティヘッダーの返信はありません)

public class CorsFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {
}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse resp = (HttpServletResponse) servletResponse;

resp.addHeader("Access-Control-Allow-Origin", "https://intranet2.culturainglesa.net");
resp.addHeader("Access-Control-Allow-Credentials", "true");
resp.addHeader("Access-Control-Allow-Methods", "GET,POST");
resp.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

// Just ACCEPT and REPLY OK if OPTIONS
if (request.getMethod().equals("OPTIONS")) {
resp.setStatus(HttpServletResponse.SC_OK);
return;
}

chain.doFilter(request, servletResponse);
}

@Override
public void destroy() {
// TODO Auto-generated method stub

}

}

回答:

回答№1は0

この問題はサーバー側でもCORSでもなく、IE11ではAJAXを介してこの特定の状況で資格情報を送信しないでください。

インターネットゾーンサイト - >イントラネットゾーンサイト

これら2つのサブドメインを信頼ゾーンに変更すると、問題は解決しました。

これは私が解決するのに役立つ質問です:

ajaxターゲットがlocalhostの場合、IE 10および11でアクセスが拒否されました