설정 템플릿¶
이미지 서비스¶
{
"hosting": [
{
"urlRewrites": [
{
"pattern": "$URL[^img.example.com/(.*)/mxt/resource/(.*)]",
"replace": "external.mixed.proxy.m2/#1/mxt/resource/#2",
"accessLogUrl": "replace"
},
{
"pattern": "$URL[^img.example.com/(.*)/proxy/(.+)/src/(.*)]",
"replace": "external.mixed.proxy.m2/#1/proxy/#2/src/#3",
"accessLogUrl": "replace"
},
{
"pattern": "$URL[^img.example.com/(.*)/proxy/src/(.*)]",
"replace": "external.mixed.proxy.m2/#1/proxy/src/#2",
"accessLogUrl": "replace"
},
{
"pattern": "$URL[^img.example.com/(.*)/xcdr/(.*)]",
"replace": "external.mixed.proxy.m2/#1/xcdr/#2",
"accessLogUrl": "replace"
},
{
"pattern": "$URL[^img.example.com/(.*)/mxt/rebound/(.*)]",
"replace": "external.mixed.proxy.m2/#1/mxt/rebound/#2",
"accessLogUrl": "replace"
}
],
"name": "img.example.com",
"mode": {
"volatile": true
},
"origin": {
"protocol": "https",
"address": [
"orgimg.example.com"
]
},
"functions": {
"contents": {
"transcoder": {
"meta": {
"enable": true
}
},
"hyperdims": {
"meta": {
"enable": true
}
}
}
}
},
{
"name": "external.mixed.proxy.m2",
"mode": {
"volatile": true
},
"origin": {
"address": [
"127.0.0.1:8585"
]
},
"functions": {
"network": {
"proxy": {
"meta": {
"enable": true
}
},
"http": {
"frontEnd": {
"session": {
"keepAliveSec": 62
},
"accessControl": {
"enable": true,
"defaultAction": "allow",
"denialCode": 401,
"matchingList": [
{
"pattern": "/_fallback_redirect_/*",
"action": "redirect",
"location": "#1",
"denialCode": 302
}
]
},
"headers": {
"modify": {
"enable": true,
"matchFirstOnly": false,
"defaultCaseSensitive": true,
"matchingList": [
{
"pattern": "$URL[*]",
"header": "$RES[Access-Control-Allow-Origin: *]",
"mode": "set"
},
{
"pattern": "*",
"header": "$REQ[referer: $REQ.referer]",
"mode": "set"
},
{
"pattern": "*",
"header": "$REQ[X-Forwarded-Host: $REQ.host]",
"mode": "set"
}
]
}
}
},
"backEnd": {
"health": {
"exclusion": {
"count": 0
}
},
"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"
}
]
},
"userAgent": {
"enable": true,
"value": "*"
},
"host": {
"enable": true,
"value": "*"
}
}
}
}
},
"contents": {
"pagedesk": {
"meta": {
"enable": true,
}
},
"pagemixed": {
"meta": {
"enable": true,
"keyword": "@pagedesk"
},
"transcoder": {
"meta": {
"enable": true
}
},
"hyperdims": {
"meta": {
"enable": true
}
}
}
},
"fallbacks": {
"enable": true,
"matchingList": [
{
"resCodes": [
"4xx",
"5xx",
"fail"
],
"pattern": "$URL[(.*)/hdims/(.*)]",
"replace": "/_fallback_redirect_/#1"
},
{
"resCodes": [
"4xx",
"5xx",
"fail"
],
"pattern": "$URL[(.*)/proxy/src/(.*)]",
"replace": "/_fallback_redirect_/#2"
}
]
}
}
]
}