0

ドメイン A からドメイン B のレスト サービスに Ajax を使用してポスト リクエストを行うこの Web アプリケーションがあります。仕事

ドメイン B からの応答のヘッダー:

Access-Control-Allow-Credentials:   true
Access-Control-Allow-Headers:       content-type
Access-Control-Allow-Methods:       POST GET OPTIONS
Access-Control-Allow-Origin:        https://sub.domain-a.com
Access-Control-Max-Age:             180

Ajax コード

$.ajax({
    url: 'https://sub.domain-b.com',
    type: 'POST',
    contentType: 'application/json',
    headers: {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    },
    data: json,
    dataType: 'json',
    xhrFields: {
        withCredentials: true
    },
    success: function (data) {

    },
    error: function (jqXHR, textStatus, errorThrown) {

    }
});

両方のドメインにログインしており、要求によって必要な Cookie (withCredentials=true) が送信されますが、応答から 403 Forbidden が返されます。

両方のドメインが SSL 証明書を使用しています

これは以前は機能していたので、SSL が問題を引き起こしているのではないかと考え始めていますが、ログには何も記録されていません。

ここに似たような経験をした人はいますか?ポインタはありますか?

4

1 に答える 1

0

次の問題に似ている可能性があります: Pre-flight OPTIONS request failing over HTTPS

通常、問題が SSL とプリフライト リクエストにある場合、403 は返されませんが、OPTIONS リクエストが中止されるだけです。

サービスはどのように認証および承認しますか? 自己署名証明書を使用していますか? SSL が問題の原因であると考えるのは正しいようですが、詳細情報がなければ、具体的な問題が何であるかを判断するのは困難です。

于 2013-09-13T00:04:37.260 に答える