cache와 access-control-allow-origin 동시에 잡기 다중도메인

cache와 access-control-allow-origin 동시에 잡기 다중도메인

728x90

access-control-allow-origin 설정을

도메인별로 설정하는건 쉽다.

html이든 아파치 설정에 아무곳에 넣어주면 설정은 된다.

다만 다중도메인 4개이상(SSL)을 동시에 같은 페이지 접속하면서

각 도메인별로 access-control-allow-origin의 도메인이 바뀌어야 하고

캐시(cache)가 걸려야 하는 조건을 걸어 보자...

캐시가 걸리지 않으면 동적으로

도메인 별로 걸리도록 해주면 된다

SetEnvIf Origin "^http(s)?://.+$" AccessControlAllowOrigin=$0 Header always set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin

대충 이런식으로 설정을 넣어주면 된다.

그런데 캐시가 도메인별로 안걸린다.

이런경우 캐시 설정에서

CacheIgnoreHeaders 항목에 Vary가 있는지 살펴보자

설정되어 있다면 설정을 제거한다.

그리고 방금 orgin설정에

Vary설정을 아래와 같이 넣어주자

Header merge Vary Origin

그리고 아파치 재시작

도메인별로 SSL인증서별로 캐싱이 각자 잘 걸린다.

access-control-allow-credentials: true access-control-allow-origin: https://멀티도메인 access-control-max-age: 86400 age: 6 cache-control: public, max-age=1200 content-encoding: gzip content-length: 1157 content-type: application/json; charset=utf-8 date: Thu, 30 Sep 2021 06:26:59 GMT server: Apache/2.4.48 (codeit) OpenSSL/1.1.1g PHP/7.2.34 vary: Accept-Encoding,Origin x-cache: HIT from 캐시도메인명 x-cache-detail: "cache hit" from 캐시도메인명

출처 : https://gist.github.com/brianlmoon/2291111c5c69252c85f4

728x90

from http://blog.and.kr/83 by ccl(A) rewrite - 2021-09-30 16:00:32