.png)
웹 캐시 서버 nuster 입문-2(Purge)
2022-10-05 last update
7 minutes reading 우분투 CentOS 리눅스 도커 infrastructure지난번은 웹 캐시 서버 nuster 입문 -1 (기본) 에서 nuster를 간단하게 소개했습니다. 그 후 여러가지 Purge 기능을 추가했으므로 이번에는 Purge에 대해 소개하고 싶습니다.
사양은 변경될지도 모르므로, 최신의 것은 htps : // 기주 b. 코 m/지안구에니앙/누s테 r/bぉb/마s테 r/레아 D메. md 를 참조해 주세요.
여러 가지 방법으로 Purge 수 있습니다. Purge 기능은 기본적으로 Off이므로 On이어야 합니다.
그리고 디폴트의 Purge 메소드는
URI는 기본처 설정했다
nuster-rule의 name, proxy의 name, 혹은
headers
header
value
description
이름
nuster-rule NAME
nuster-rule ${NAME}에서 생성한 캐시를 Purge
프록시 NAME
proxy ${NAME}의 캐시를 Purge
*
모든 캐시를 Purge
Examples
해당 Host의 모든 캐시를 Purge 할 수 있습니다.
headers
header
value
description
x-host
HOST
the ${HOST}
Examples
기본적으로 동일한 path에서도 query가 다르면 생성한 캐시도 다릅니다.
예를 들면
그러면 두 개의 캐시가 생성됩니다.
path에서 purge를 제외하고는 여러 가지 방법으로 Purge 할 수 있습니다.
하나씩
하지만 query를 모르는 경우는 할 수 없습니다.
쿼리가 중요하지 않다면 사용자 정의 키를 사용하십시오.
하지만 query가 중요한 경우에는 할 수 없습니다.
cache-rule에서 purge
그러면
그래서 path에서 Purge
headers
header
value
description
path
PATH
path가 ${PATH}인 캐시를 purge
x-host
HOST
그리고 host 는 ${HOST}
Examples
headers
header
value
description
regex
REGEX
path가 ${REGEX} match이면 Purge
x-host
HOST
그리고 host 는 ${HOST}
Examples
사양은 변경될지도 모르므로, 최신의 것은 htps : // 기주 b. 코 m/지안구에니앙/누s테 r/bぉb/마s테 r/레아 D메. md 를 참조해 주세요.
Purge Cache
여러 가지 방법으로 Purge 수 있습니다. Purge 기능은 기본적으로 Off이므로 On이어야 합니다.
Purge 사용
global
섹션에서 nuster cache on uri /nuster/cache
와 같이 Purge에 대한 uri를 설정하여 Purge를 활성화합니다. uri는 뭐든지 좋다.그리고 디폴트의 Purge 메소드는
PURGE
입니다만, purge-method MYPURGE
그리고 다른 메소드도 설정할 수 있습니다.기본 사용법
curl -X PURGE http://127.0.0.1/URI
URI는 기본처 설정했다
/nuster/cache
로, 유일한 예외는 1개 URL을 Purge 할 때, 그 URL을 사용합니다.하나의 URL을 Purge
curl -XPURGE https://127.0.0.1/imgs/test.jpg
GET /imgs/test.jpg
로 생성한 캐시를 Purge 하는, HEADER 등은 묻지 않습니다.이름으로 Purge
nuster-rule의 name, proxy의 name, 혹은
*
로 Purge 할 수 있습니다.headers
header
value
description
이름
nuster-rule NAME
nuster-rule ${NAME}에서 생성한 캐시를 Purge
프록시 NAME
proxy ${NAME}의 캐시를 Purge
*
모든 캐시를 Purge
Examples
# すべてのキャッシュをPurge
curl -X PURGE -H "name: *" http://127.0.0.1/nuster/cache
# proxy app1bのすべてのキャッシュをPurge
curl -X PURGE -H "name: app1b" http://127.0.0.1/nuster/cache
# nuster-rule r1が生成したキャッシュをすべてPurgeする
# つまり /imgs/* のキャッシュをすべてPurgeする
# nuster-rule r1 imgs if { path_beg /imgs/ }
curl -X PURGE -H "name: r1" http://127.0.0.1/nuster/cache
Host의 Purge
해당 Host의 모든 캐시를 Purge 할 수 있습니다.
headers
header
value
description
x-host
HOST
the ${HOST}
Examples
# 127.0.0.1:8080のすべてのキャッシュをPurge
curl -X PURGE -H "x-host: 127.0.0.1:8080" http://127.0.0.1/nuster/cache
path에서 Purge
기본적으로 동일한 path에서도 query가 다르면 생성한 캐시도 다릅니다.
예를 들면
nuster-rule imgs if { path_beg /imgs/ }
, 그리고curl https://127.0.0.1/imgs/test.jpg?w=120&h=120
curl https://127.0.0.1/imgs/test.jpg?w=180&h=180
그러면 두 개의 캐시가 생성됩니다.
path에서 purge를 제외하고는 여러 가지 방법으로 Purge 할 수 있습니다.
하나씩
curl -XPURGE https://127.0.0.1/imgs/test.jpg?w=120&h=120
curl -XPURGE https://127.0.0.1/imgs/test.jpg?w=180&h=180
하지만 query를 모르는 경우는 할 수 없습니다.
쿼리가 중요하지 않다면 사용자 정의 키를 사용하십시오.
nuster-rule imgs key method.scheme.host.path if { path_beg /imgs }
, 하면 하나의 캐시 만 생성됩니다. 그리고 query없이 purge 수 있습니다.curl -XPURGE https://127.0.0.1/imgs/test.jpg
하지만 query가 중요한 경우에는 할 수 없습니다.
cache-rule에서 purge
curl -X PURGE -H "name: imgs" http://127.0.0.1/nuster/cache
그러면
/imgs/test.jpg
뿐만 아니라 다른 /imgs/*
도 Purge 됩니다.그래서 path에서 Purge
headers
header
value
description
path
PATH
path가 ${PATH}인 캐시를 purge
x-host
HOST
그리고 host 는 ${HOST}
Examples
# pathが/imgs/test.jpg のキャッシュをPurge
curl -X PURGE -H "path: /imgs/test.jpg" http://127.0.0.1/nuster/cache
# pathが/imgs/test.jpgで hostが127.0.0.1:8080のキャッシュをPurge
curl -X PURGE -H "path: /imgs/test.jpg" -H "x-host: 127.0.0.1:8080" http://127.0.0.1/nuster/cache
regex에서 Purge
headers
header
value
description
regex
REGEX
path가 ${REGEX} match이면 Purge
x-host
HOST
그리고 host 는 ${HOST}
Examples
# /img下の.jpgファイルのキャッシュをPurge
curl -X PURGE -H "regex: ^/imgs/.*\.jpg$" http://127.0.0.1/nuster/cache
#/img下の.jpgファイルかつHostが 127.0.0.1:8080のキャッシュをPurge
curl -X PURGE -H "regex: ^/imgs/.*\.jpg$" -H "127.0.0.1:8080" http://127.0.0.1/nuster/cache