pagemixed¶
/usr/local/m2/setting.json
다음 영역에 대해 기술한다.
{
"functions": {
"contents": {
"pagemixed": {
...
}
}
}
}
How to use¶
명령어 리스트¶
mxt¶
# main
# 페이지 전체영역의 Mixed Contents 문제를 해결한다.
https://example.com/view.html/pagemixed/mxt/main
# main::id - id 영역지정
# 페이지내 id 영역만 대상으로 Mixed Contents 문제를 해결한다.
https://example.com/view.html/pagemixed/mxt/main::id
# main:.class - class 영역지정
# 페이지내 class 영역만 대상으로 Mixed Contents 문제를 해결한다.
https://example.com/view.html/pagemixed/mxt/main:.class
# main:tag - tag 영역지정
# 페이지내 tag 영역만 대상으로 Mixed Contents 문제를 해결한다.
https://example.com/view.html/pagemixed/mxt/main:tag
# main!:id - id 영역추출
# main!.class - class 영역추출
# main!tag - tag 영역추출
# 지정된 영역만 추출하여 처리한다.
https://example.com/view.html/pagemixed/mxt/main::id
명령어 |
파라미터 |
동작 |
---|---|---|
|
|
페이지 내의 Mixed Contents 문제를 해결한다. 페이지로부터 파생된 요청의 Mixed Contents 문제를 해결한다. 페이지가 참조하는 리소스를 Proxying한다. |
에러 메시지¶
See also
응답코드 |
|
설명 |
---|---|---|
원본응답 |
|
원본에서 |
|
|
|
|
|
알 수 없는 명령어 |
|
|
DOM 생성 및 처리 실패 |
|
|
경로 암호화 처리 실패 |
|
|
경로 복호화 처리 실패 |
|
|
정의되지 않은 오류 |
meta¶
"meta" : {
"enable" : false,
"keyword": "pagemixed"
}
enable (기본: false)
pagemixed 활성화
keyword (기본: pagemixed)
pagemixed 키워드
Note
pagemixed
엔진은 pagedesk
엔진과 같이 사용되는 경우가 많다.
이런 경우 @
예약어를 통해 명령어를 위임하면 하나의 엔진처럼 사용이 가능하다.
# functions.contents.pagemixed.meta
"meta" : {
"enable" : true,
"keyword": "@pagedesk"
}
위와 같이 keyword
를 pagedesk
로 위임하면 다음과 같이 하나의 명령체계 사용이 가능하다.
https://example.com/view.html/pagedesk/edit/true/mxt/main
traffics¶
{
"functions": {
"contents": {
"pagemixed": {
"traffics": {
...
}
}
}
}
}
rebound¶
"rebound" : {
"domain" : null
}
domain
리바운드 트래픽을 위임할 도메인
resource¶
"resource" : {
"domain" : null
}
domain
리소스 트래픽을 위임할 도메인
upgradeHttps¶
{
"functions": {
"contents": {
"pagemixed": {
"upgradeHttps": {
...
}
}
}
}
}
ip¶
"ip": {
"enable": true
}
enable (기본: true)
IP주소 기반의 URL SSL Onloading 여부
# as-is
<img src="http://182.162.143.217/cob/20FW/20FW_main2_kid780.jpg">
<img src="http://182.162.143.217:8080/cob/20FW/20FW_main2_kid781.jpg">
# to-be
<img src="https://example.com/.../pagemixed/mxt/resource/http://182.162.143.217/cob/20FW/20FW_main2_kid780.jpg">
<img src="https://example.com/.../pagemixed/mxt/resource/http://182.162.143.217:8080/cob/20FW/20FW_main2_kid781.jpg">">
retain¶
"retain": {
"enable": true,
"list": []
}
enable (기본: true)
선언된 도메인의 URL은 처리하지 않고 유지한다.
list
처리하지 않을 도메인 목록
# as-is
<img src="http://foo.com/logo.jpg">
# to-be
# "list": [ "foo.com" ] 으로 설정되어 있다면 가공하지 않는다.
<img src="http://foo.com/logo.jpg">
black¶
"black": {
"enable": true,
"list": []
}
enable (기본: true)
list에 있다면 무조건 프로토콜 무관하게 SSL Onloading 한다.
list
도메인 목록
# as-is
<img src="https://foo.com/logo.jpg">
# to-be
# "list" : [] 인 경우라면 수정하지 않는다.
<img src="https://foo.com/logo.jpg">
# to-be
# "list" : ["foo.com"] 인 경우라면 SSL onloading 시킨다.
<img src="https://example.com/.../pagemixed/mxt/resource/https://foo.com/logo.jpg">
white¶
"white": {
"enable": true,
"list": []
}
enable (기본: true)
list에 있다면 HTTPS를 지원할 것으로 기대하고 프로토콜만 수정하지 않는다.
list
도메인 목록
# as-is
<img src="http://foo.com/logo.jpg">
# to-be
# "list" : [] 인 경우라면 SSL onloading 시킨다.
<img src="https://example.com/.../pagemixed/mxt/resource/https://foo.com/logo.jpg">
# to-be
# "list" : ["foo.com"] 인 경우라면 foo.com이 https를 지원한다고 간주하여 프로토콜만 변경한다.
<img src="https://foo.com/logo.jpg">
svldb¶
"svldb": {
"enable": true,
"url": "https://svl.m2live.co.kr"
}
enable (기본: true)
SVL 서비스 활성화
url
SVL 서비스와 통신할 URL을 설정한다. M2에서 외부 통신이 불가능할 경우 Proxy주소를 통해 통신이 가능하다.
# as-is
# 엔진은 SVL-DB를 참고하여 다음 태그를 수정한다.
<img src="https://foo.com/1.jpg">
<img src="http://foo.com/2.jpg">
<img src="https://bar.com/3.jpg">
<img src="http://bar.com/4.jpg">
# to-be
# 위 태그는 순서대로 다음과 같이 수정된다.
<img src="https://foo.com/1.jpg"> // not modified
<img src="https://foo.com/2.jpg"> // upgrade
<img src="https://example.com/.../pagemixed/mxt/resource/http://bar.com/3.jpg"> // proxying + downgrade
<img src="https://example.com/.../pagemixed/mxt/resource/http://bar.com/4.jpg"> // proxying
protocols¶
URL 형태에 따라 svldb 검사여부를 설정한다.
"protocols": {
"http": true,
"https": true,
"implicit": false
}
http (기본: true)
http://
프로토콜로 명시된 URL을 대상으로 처리한다.https (기본: true)
https://
프로토콜로 명시된 URL을 대상으로 처리한다.implicit (기본: true)
//
와 같이 암묵적으로 선언된 프로토콜로 명시된 URL을 대상으로 처리한다.
report¶
"report": {
"enable": true,
"schedule": "0 0 * * * *"
}
enable (기본: true)
상품기술서 내 불확실한 도메인 목록을 SVL 서비스로 보고한다.
schedule (기본: 0 0 * * * *)
보고 주기
update¶
"update": {
"enable": true,
"schedule": "0 0 * * * *"
}
enable (기본: true)
SVL-DB 업데이트 활성화
schedule (기본: 0 0 * * * *)
업데이트 주기
syntax¶
"syntax": {
"enable": true,
"proxying": "http"
}
enable (기본: true)
URL 형식 SSL Onloading 활성화
proxying (기본: http)
http
http:// 로 시작되는 URL만 SSL Onloading한다.
all
프로토콜에 관계없이 모두 SSL Onloading한다.
options¶
{
"functions": {
"contents": {
"pagemixed": {
"options": {
...
}
}
}
}
}
anchor¶
"anchor" : {
"enable": false,
"mixed": false
}
enable (기본: false)
true
인 경우에만<a href>
속성을 처리한다.mixed (기본: false)
true
인 경우에만 SSL/TLS Onloading 정책에 따라 https 로 업그레이드만 진행하며 proxying하지 않는다.
video¶
"video": {
"enable": false
}
enable (기본: false)
false
- <video> 태그를 처리하지 않는다.
true
- 가능하다면 URL을 https 로 업그레이드한다.
embed¶
"embed": {
"enable": false
}
enable (기본: false)
false
- <embed> 태그를 처리하지 않는다.
true
- 가능하다면 URL을 https 로 업그레이드한다.
schemeless¶
"schemeless": {
"enable": false,
"originProtocol" : "http"
}
enable (기본: false)
false
- 수정하지 않는다.
true
- 상품기술서의 다른 리소스와 동일하게 처리한다. scheme을 명확히 지정한다.# AS-IS <script src="//foo.com/common.js"> # TO-BE <script src="https://foo.com/common.js">
originProtocol (기본: http)
SSL onloading을 해야하는 경우 원본 프로토콜을 명시적으로 선택한다.
<script src="//foo.com/common.js">
http
- http 프로토콜을 사용한다.<script src=".../pagemixed/mxt/resource/http://foo.com/common.js">
https
- https 프로토콜을 사용한다.<script src=".../pagemixed/mxt/resource/https://foo.com/common.js">
encryptSrcUrl¶
"encryptSrcUrl" : {
"enable" : false,
"algorithm" : "aes-128-cbc",
"key" : "0123456789abcdef",
"iv" : null
}
enable (기본: false)
SSL Onloading되는 원본URL 암호화
algorithm
알고리즘
key
키
iv
이니셜 벡터
image¶
datasrc¶
"datasrc" : {
"enable" : false
}
enable (기본: false)
true
인 경우<img data-src>
를 리소스 처리대상으로 지정한다.
datauri¶
"datauri" : {
"enable" : false
}
enable (기본: false)
true
인 경우<img src="data:image/gif;base64,R0lGODlhPQBEAPe ..."
를 리소스 처리대상으로 지정한다.