httpとhttpsの2つのサイトを処理するnginx設定を作成しようとしていますが、クライアントは両方のサイトにアクセスすることはありませんが、キャッシュ/サイト間の問題がある場合NGINX、ssl、CORS、Access-Control-Allow-Origin値のキャッシュをクロスサイト
だから、# Allow cross origin
location ~* \.(eot|svg|ttf|woff|woff2|json)$ {
if ($http_origin ~* (https?://(admin\.)?example\.com(:[0-9]+)?)) {
add_header 'Access-Control-Allow-Origin' "$http_origin";
}
}
私がexample.comをロードした場合、すべての作品が、私はadmin.example.comをロードするときに、私は(インデックス)この
ような問題を得る:1のXMLHttpRequestは http://origin.example.com/js/data-lib/currency.jsonをロードすることはできません。 「Access-Control-Allow-Origin」ヘッダーには値「http:// example」があります。 com 'が含まれています。オリジン 'http:// admin。例。 com 'はアクセスが許可されていません。
これはブラウザが元のリクエストをキャッシュしているため、サーバーの別のリクエストが許可されていても拒否されているためです。 Chromeデベロッパーツールでキャッシュを無効にすると、その問題は起こりません。
この問題を解決するにはどうすればよいですか? 1つの設定で複数のドメイン+ SSL/HTTPをすべて実行することは可能ですか?または要求されているドメインとプロトコルに基づいてこれを分割する必要がありますか?
あなたがそのはず、値Origin
でVary
レスポンスヘッダを追加する場合