Apacheはクロスドメインリクエストnginxのが設けられています。

私たちは、プロキシ要求のフロントエンドを使用する場合は、サーバー最初のセットは、クロスドメインリクエストは、いくつかの一般的な構成を導入する最初の、次の、許可します

(1)アクセス制御、許可原点

このフィールドは必須です。その値は、いずれかのフィールドの起源要求のいずれか*、ドメイン名の受け入れのための要求の値です。

(2)とAccess-Control-Allow-Credentials

このフィールドはオプションです。その値は、クッキーの送信を許可するかどうかを示すブール値です。デフォルトでは、クッキーCORSは、要求に含まれていません。trueに設定し、それがサーバー明示的な許可は、クッキーがサーバに送信された要求に含まれ得ることを意味します。この値は、サーバーがブラウザのクッキーによって送信されない場合、あなたはフィールドを削除することができ、trueに設定することができます。

(3)アクセス制御 - 露光 - ヘッダ

このフィールドはオプションです。Cache-Control、コンテンツ言語、コンテンツの種類、有効期限、最終修飾、プラグマ:要求がCORS、getResponseHeader XMLHttpRequestオブジェクト()のみ6つの基本的なフィールドを取得するための方法であるとき。あなたが他のフィールドを取得したい場合は、アクセス・コントロール・公開・ヘッダの内部で指定する必要があります。上記の例の指定は、getResponseHeader(「FooBarの」)は値FooBarのフィールドを返すことができます。

(4)アクセス制御リクエスト・メソッド

このフィールドは、使用されるHTTPメソッドCORSリクエストをリストするために使用するブラウザを必要とされます。

(5)アクセス制御リクエスト・ヘッダー

このフィールドは、指定がブラウザリクエストCORSエクストラヘッダフィールドは、送信したカンマで区切られた文字列であり、例としては、X-カスタムヘッダです。

(6)アクセス制御 - 許可 - メソッド

このフィールドは必要とされ、その値の文字列は、すべてのメソッドのサーバーサポートしていることをことを示す、カンマ区切りのクロスドメインリクエストです。なお、すべてのサポートされているメソッドの戻り値ではなく、単にブラウザが要求する方法。これは、複数の「プリフライト」の要求を避けるためです。

(7)アクセス制御、許可、ヘッダ

ブラウザの要求は、アクセス制御 - 許可 - ヘッダフィールドのアクセス制御リクエスト・ヘッダーフィールドを含む場合は必要です。また、すべてのヘッダーフィールドがに「事前スクリーニング」にブラウザ要求フィールドに限定されるものではなく、サーバーがサポートを示すカンマ区切りの文字列です。

(8)アクセス制御マックス (-age このメソッドは、要求ごとに2回送信の問題クロスドメインリクエストを解決します)
このフィールドは、事前スクリーニングオプションである秒で、現在有効な要求を指定するために使用されます。結果の上、期間は、プリフライトが別の要求を発行しないで、その間の記事1728000秒(すなわち、20日)、に対応するためにキャッシュを許可、20日(1728000秒)です。

A、Apacheの
1、Windowsがディレクトリに対応する、httpd.confの変更:C:\ WAMP \ binに\ Apacheの\ Apache2.4.4 \ confに\ httpd.confの
2、のLoadModule headers_moduleモジュール/ mod_headers.so削除コメントの前
3 、バーチャルホスト修正の下でそう

<VirtualHostの*:80> 
    DocumentRootの "C:\ Users \ユーザー管理\デスクトップ\ php_1222" 
    ServerNameのWWW 0.1。COM 
    にServerAlias 1. COM
  の<Directory「C:\ Users \ユーザー管理\デスクトップ\ php_1222」> 
      オプションFollowSymLinksをのExecCGI 
      AllowOverrideのすべての
      注文ができるように拒否する
      すべてから許可
     要求するすべての付与された
     ヘッダは、アクセス制御-許可-起源*設定
     ヘッダーはアクセス制御を設定します-allow-方法*
     ヘッダ "認可を受け入れ、起源、X--で要求、Content-Typeの"アクセス制御-許可-ヘッダを設定する 
  </ディレクトリ>
</ VirtualHost>の

二、nginxの

もう一つの問題ドメインは、クロスドメインのドメインからのリクエストをAJAXます。だから、nginxの上でクロスドメインAjaxのリクエストにそれを達成するためにどのように?nginxのでクロスドメインリクエストを有効にするには、はadd_headerアクセス​​制御*コマンドを追加する必要があります。次のとおりです。

位置/ { 

はadd_header「アクセス制御-許可原点「http://other.subdomain.com」

add_header 'とAccess-Control-Allow-Credentials' ''真

add_header「GET」「アクセス制御は-メソッド許可」

   

... 

... 

ここにあなたの残りの設定

 ... 

... 

   

}

次のように注意があります:

  • 最初の命令:other.subdomain.comからの許可を要求
  • 第2の命令:このフラグが真である、要求に応じて露光することができるかどうか
  • 第三に説明:要求で指定されたメソッド、GETであってもよいし、POSTなど

あなたが任意のドメインからのアクセスを許可する必要がある場合は、設定できます。

アクセス制御 - 許可 - 起源:*

再起動nginxの

サービスnginxのリロード

テスト要求が
成功し、レスポンスヘッダは、以下に示します

HTTP / 1.1 200 OK 

サーバーnginxの

アクセス -制御-許可-起源:other.subdomain.com

おすすめ

転載: www.cnblogs.com/linfblog/p/12123679.html