2017-10-16 24 views
1

CORSに問題があります。 私はリバースプロキシとロードバランサとして設定したドメインB経由で、ドメインAのSPAからドメインCのリースAPI(私も)へのAJAXコールを持っています。 3つすべてがAzure Web Appsに配備されています。CORS AJAXおよびAzureリバースプロキシの問題

AからCへのコールは問題なしで直接処理されます。 しかし、AからBへのコールは機能しません。

CORSはポータルを使用してAからBおよびCで許可されます。 CORSは、ポータルを使用してBからCに許可されています。

APIサーバCのWeb.configファイルには、以下があります。

<httpProtocol> 
     <customHeaders> 
      <add name="Access-Control-Allow-Origin" value="*" /> 
      <add name="Access-Control-Allow-Headers" value="Content-Type" /> 
      <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS" /> 
     </customHeaders> 
    </httpProtocol> 

しかし、私は次のエラーを取得しています:

Response to preflight request doesn't pass access control check: 
    No 'Access-Control-Allow-Origin' header is present on the requested resource. 
    Origin 'null' is therefore not allowed access. 
    The response had HTTP status code 400. 

だから、私の理解は、APIサーバが許可しているありますSPAがリクエストを行います。これは私が上の行と思っていたものです。だれがこのことについて何か考えているのですか?

答えて

0

CORSをApp Serviceで制御できます。その設定がweb.configを上書きしている可能性があります。 App Serviceメニューで、APIセクションまでスクロールし、CORSメニューが表示されます。

セクションがあなたにとってうまくいかないかもしれないが、*のレコードを追加すると削除すると、web.configベースのCORS処理が開始されるはずです。

関連する問題