http와 https에서 두 사이트를 처리하는 nginx 구성을 쓰려고하는데, 클라이언트는 두 사이트를 모두 방문하지 않지만 캐싱/사이트 간 문제가있는 경우 두 사이트를 방문합니다. 내가 example.com을로드하는 경우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";
}
}
그래서, 모든 작동하지만 내가로드 할 때 다음 admin.example.com 나는이
(인덱스) 같은 문제를 얻을 : 1은 XMLHttpRequest http://origin.example.com/js/data-lib/currency.json를로드 할 수 없습니다. 'Access-Control-Allow-Origin'헤더의 값은 'http : // example'입니다. co.kr '은 공급 된 원점과 동일하지 않습니다. 오리진 'http : // admin. 예 . com '은 (는) 액세스가 허용되지 않습니다.
브라우저에서 브라우저의 원래 요청을 캐시했기 때문에 내가 말할 수있는 것만 큼 가까운 곳에서 서버의 다른 요청이 허용하더라도 브라우저가 원래의 요청을 캐시하고 캐시를 거부합니다. Chrome 개발자 도구에서 캐시 사용 중지를 선택하면 문제가 발생하지 않습니다.
이 문제를 어떻게 해결할 수 있습니까? 여러 도메인 + SSL/http 모두를 하나의 구성으로 할 수 있습니까? 아니면 도메인 및 프로토콜을 기반으로 요청을 분할 할 필요가 있습니까?
당신이해야 값 Origin
으로 Vary
응답 헤더를 추가하는 경우