설정 템플릿

이미지 서비스

{
   "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"
                   }
               ]
           }
       }
   ]
}