설정 템플릿¶
메인페이지 설정 템플릿을 제공한다.
{
"hosting": [
{
"name": "www.example.com",
"mode": {
"volatile": true
},
"origin": {
"protocol": "https",
"address": [
"org.example.com"
]
},
#웹페이지 최적화를 적용할 URL을 정의 한다.
#/pagedesk/edit/default/mxt/main : pagedesk와 pagemixed 기능을 사용 한다.
#/optimg/default : 이미지를 설정에 맞게 최적화 한다.
#/optvideo/default : MP4 비디오를 WebM 포맷으로 최적화 한다.
#/optscript/default : 웹 문서의 초기 로딩속도 향상을 위해 스크립트 로딩을 최적화 한다.
#참고 : https://doc.m2live.co.kr/references/settings/hosting.html#urlrewrites
#참고 : https://doc.m2live.co.kr/references/settings/functions/contents/pagespeed.html#pagespeed-alpha
"urlRewrites": [
{
"pattern": "!FUNCTION[*] & !HEADER[Sec-Fetch-Dest: empty] & $URL[^www.example.com/(.*)]",
"replace": "www.example.com/#1/pagespeed/optimg/default/optscript/default/optvideo/default",
"accessLogUrl": "replace"
}
],
"functions": {
"network": {
"http": {
"frontEnd": {
#클라이언트 세션과 아무런 통신이 없는 상태로 설정된 시간이 경과하면 세션을 종료 한다.
#앞단에 ALB의 경우 기본값이 60초, 뒷단에 있는 M2는 이보다 2초 큰 값을 설정 한다.
#참고 : https://doc.m2live.co.kr/references/settings/functions/network/http.html?highlight=keepalivesec#session
"session": {
"keepAliveSec": 62
},
#캐싱 되는 URL은 원본 요청시 referer , X-Forwarded-Host를 추가하여 요청 한다.
#클라이언트 응답시 CORS를 고려하여 Access-Control-Allow-Origin 헤더를 추가하여 응답
#https://doc.m2live.co.kr/references/settings/functions/network/http.html#modify
"headers": {
"modify": {
"enable": true,
"matchFirstOnly": false,
"defaultCaseSensitive": true,
"matchingList": [
{
"pattern": "*",
"header": "$REQ[referer: $REQ.referer]",
"mode": "set"
},
{
"pattern": "*",
"header": "$REQ[X-Forwarded-Host: $REQ.host]",
"mode": "set"
}
]
}
},
#pagespeed의 경우 모든 요청에 대해 bypass 한다.
"bypass":{
"getMethod": {
"enable": true
}
}
},
"backEnd": {
"health": {
#원본 장애시 배제를 하지 않는다.
#참고 : https://doc.m2live.co.kr/references/settings/functions/network/http.html#exclusion
"exclusion": {
"count": 0
}
},
#BYPASS URL은 원본 요청시 referer , X-Forwarded-Host를 추가하여 요청 한다.
#https://doc.m2live.co.kr/references/settings/functions/network/http.html#ref-functions-network-http-backend-headers-modify
"headers": {
"modify": {
"enable": true,
"matchFirstOnly": false,
"matchingList": [
{
"pattern": "$URL[*]",
"header": "$ORGREQ[referer:$REQ.referer]",
"mode": "set"
},
{
"pattern": "*",
"header": "$REQ[X-Forwarded-Host: $REQ.host]",
"mode": "set"
}
]
},
#클라이언트가 보낸 User-Agent 헤더값을 원본으로 요청한다.
#https://doc.m2live.co.kr/references/settings/functions/network/http.html#useragent
"userAgent": {
"enable": true,
"value": "*"
},
#클라이언트가 보낸 host 헤더값을 원본으로 요청 한다.
#https://doc.m2live.co.kr/references/settings/functions/network/http.html#host
"host": {
"enable": true,
"value": "*"
}
}
}
}
},
"contents": {
#pagespeed를 활성화 한다.
#이미지 최적화 / MP4 비디오를 WebM 포맷으로 최적화 실행할 src, dest 도메인을 설정 한다.
"pagespeed": {
"meta": {
"enable": true,
},
"optimg": {
"matchingList": [
{
"src": "img.example.com",
"dest": "img.example.com"
}
]
},
"optvideo": {
"matchingList": [
{
"src": "img.example.com",
"dest": "img.example.com"
}
]
}
}
}
}
}
]
}