proxy¶
/usr/local/m2/setting.json
다음 영역에 대해 기술한다.
{
"functions": {
"network": {
"proxy": {
...
}
}
}
}
How to use¶
명령어 리스트¶
proxy
함수는 원본을 결정하기 때문에 항상 가장 앞에 위치한다.
단, /proxy/src/cache
처럼 함수체인의 라우팅에 개입하는 특수 조건인 경우 맨 뒤에 위치시킨다.
# https://foo.com/sample.jpg 를 캐싱한다.
https://example.com/proxy/src/https://foo.com/sample.jpg
# https://foo.com/sample.jpg 를 캐싱할 때 Host 헤더로 example.com를 설정한다.
https://example.com/proxy/host/example.com/src/https://foo.com/sample.jpg
# 위 트랜잭션이 5초 이상 소요된다면 10분(=600초)을 TTL로 부여한다.
https://example.com/proxy/host/example.com/ttl/elapsed=5;value=600;/src/https://foo.com/sample.jpg
# 위 트랜잭션이 1.8초 이상 소요된다면 1시간(=3600초)을 TTL로 부여한다.
https://example.com/proxy/host/example.com/ttl/elapsed=1.8;value=3600;/src/https://foo.com/sample.jpg
# 어떠한 요청이라도 맨 뒤에 /proxy/src/cache 를 붙여 캐싱되도록 통제한다.
https://example.com/bypass.html/proxy/src/cache
원본지정¶
https://example.com/proxy/src/https://foo.com/sample.jpg
명령어 |
파라미터 |
동작 |
---|---|---|
|
|
입력된 임의의 URL을 원본서버로 사용한다. 예약어인 |
|
|
|
위 예제에서 foo.com
으로 전송되는 HTTP 요청은 다음과 같다.
GET /sample.jpg HTTP/1.1
Host: foo.com
Host
헤더는 지정된 src
의 도메인을 추출하여 사용한다.
이 값을 변경하고 싶다면 다음과 같이 host
명령어를 사용한다.
https://example.com/proxy/host/foobar.com/src/https://foo.com/sample.jpg
위 호출은 이전과 동일하게 전송되지만 Host
헤더는 변조된다.
GET /sample.jpg HTTP/1.1
Host: foobar.com
Warning
src
와 host
명령어를 같이 사용할 경우 반드시 아래 순서대로 입력해 주어야 한다.
.../proxy/host/.../src/...
TTL 조정¶
트랜잭션이 완료되는 시점에 TTL
(=캐싱시간)을 조정한다.
명령어 |
파라미터 |
---|---|
|
|
# 트랜잭션 완료시점부터 1000초 부여한다.
https://example.com/proxy/ttl/1000/src/http://holly.speedgabia.com/img2/1202J8_01.jpg?a=sadjsalkj
https://example.com/proxy/ttl/value=1000/src/http://holly.speedgabia.com/img2/1202J8_01.jpg?a=sadjsalkj
https://example.com/proxy/ttl/elapsed=0;value=1000/src/http://holly.speedgabia.com/img2/1202J8_01.jpg?a=sadjsalkj
# 트랜잭션 완료시간이 5초를 넘으면 트랜잭션 종료시점부터 1000초 부여된다.
https://example.com/proxy/ttl/elapsed=5;value=1000/src/http://holly.speedgabia.com/img2/1202J8_01.jpg?a=sadjsalkj
에러 메시지¶
See also
응답코드 |
|
설명 |
---|---|---|
|
|
connect timeout |
|
|
receive timeout |
|
|
aborted |
abort 되면 자동으로 purge된다.
meta¶
"meta" : {
"enable" : false,
"keyword": "proxy",
"routeToLocal": false
}
enable (기본: false)
proxy 활성화
keyword (기본: proxy)
proxy 키워드
routeToLocal (기본: false)
src가 내가 서비스하는 도메인이라면 Local로 라우팅한다.
Note
별도의 TTL 설정을 가지지 않고, ttl 정책을 따른다.