티스토리 뷰
본 포스팅은 WebtoB GotoEXT 설정 옵션 및 Regular Expression에 대한 가이드입니다.
GotoEXT 옵션은 WebtoB의 URI절 옵션으로 ServiceOrder가 uri, ext 순일 때 URI매칭시 추가적으로 EXT절 매칭을 수행 하도록 할지 여부를 결정하는 옵션. 주로 정적인 파일을 WebtoB에서 처리하고자 할 때 사용합니다.
GotoEXT 옵션 이슈
*VHOST
vhost1
ServiceOrder=”uri,ext”,
….
*SVRGROUP
htmlg SvrType = HTML
jsvg1 SvrType = JSV
jsvg2 SvrType = JSV
*SERVER
html SvgName = htmlg, MinProc = 5, MaxProc = 5
MyGroup1 SvgName = jsvg1, MinProc = 10, MaxProc = 10
MyGroup2 SvgName = jsvg2, MinProc = 10, MaxProc = 10
*URI
uri1 URI = “/test1/”, SvrType = JSV, SvrName = jsv1, AccessName = access1, GotoEXT = Y
uri2 URI = “/test2/”, SvrType = JSV, SvrName = jsv2, GotoEXT = Y
*ACCESS
access1 Order = “deny,allow”, Deny = “10.10.10.10”
a. AccessName옵션 적용 불가
WebtoB의 URI절에 특정 클라이언트의 접속을 allow 혹은 deny 시키는 access옵션을 GotoEXT옵션과 함께 사용할 경우 access옵션 적용이 안됩니다.
위의 설정대로라면 ‘10.10.10.10’ 클라이언트는 ‘http://domain/test1’로 접속이 안되야 하지만 GotoEXT 옵션과 함께 쓰여 access옵션이 적용안돼 접속이 가능합니다.
b. SvrName 옵션 적용 불가
WebtoB의 URI절에 설정된 해당 context로의 요청을 처리할 SERVER의 이름을 명시해주는 SvrName옵션을 GotoEXT옵션과 함께 사용할 경우 SvrName옵션 적용이 안됩니다.
위의 설정과 같이 하나의 vhost를 통해 들어온 요청을 context로 분기하고자 할 때 GotoEXT옵션을 사용하면 SvrName옵션이 적용되지 않아 /test1/, /test2/ 요청 모두가 최상단의 SVRGROUP(jsvg1)을 통해 처리가 됩니다.
GotoEXT옵션 이슈 해결방안
a. URI에 regular expression을 통해 직접 확장자를 지정해 주어 GotoEXT를 대체해서 사용할 수 있습니다.
*URI
uri1 Match = “regexp”, URI = “^/test1/.*[.](html | jpg | png)$”, SvrType = HTML, AccessName = access1
uri2 URI = “/test1/”, SvrType = JSV, SvrName = MyGroup1, AccessName = access1
uri3 Match = “regexp”, URI = “^/test2/.*[.](html | jpg | png)$”, SvrType = HTML
uri4 URI = “/test2/”, SvrType = JSV, SvrName = MyGroup2
b. EXT절의 unset옵션을 사용해 GotoEXT를 사용해도 SvrName을 사용할 수 있습니다.
*URI
uri1 URI = “/test1/”, SvrType = JSV, SvrName = jsv1, AccessName = access1, GotoEXT = Y
uri2 URI = “/test2/”, SvrType = JSV, SvrName = jsv2, GotoEXT = Y
*EXT
html MimeType = “text/html”, SvrType = HTML
jsp MimeType = “application/jsp”, SvrType = JSP, Options = “UnSet”
jpg MimeType = “image/jpeg”, SvrType = HTML
특정 문자의 집합 또는 문자열을 기호로 바꾸어 놓는 방법으로, 문자열의 집합을 정확하게 표현하기 위해 쓰이는 표현 규칙. 언어의 문법 정의나 검색해야 할 문자열의 지정에 쓰입니다. WebtoB 에서는 이러한 문자열을 이용해 사용자의 요청을 규칙에 따라 분배할 수 있습니다.
WebtoB EXT절
a. Ext 설정방법
다음과 같이 설정하면 ‘.jsp’를 제외한 나머지 확장자는 WebtoB HTML 서버로 처리하게 됩니다. WebtoB 환경설정 파일의 가독성을 높일 수 있는 방법입니다. Regexp를 맨 아래에 설정 바랍니다.
[regexp Match = "regexp", RegExp="[A-Za-z0-9]*", SvrType = HTML]
b. 상태확인
Wsadmin 에 접속한 후 st –s 명령어를 통해 정상처리 유무를 확인할 수 있습니다.
위와 같이 jsp 이외에는 regexp로 들어가는 것을 볼 수 있습니다.
WebtoB URI절
a. URI 설정방법
다음은 WebtoB의 ServiceOrder가 Uri를 사용할 때 특정 Uri와 지정한 확장자의 조합으로 처리가 가능한 설정입니다.
u_test Uri = "/ap1/(.)+\.(html|htm|jsp)", Match = "regexp", Svrtype = JSV
b. 상태확인
Wsadmin 에 접속한 후 st –s 명령어를 통해 정상처리 유무를 확인할 수 있습니다.
위와 같이 특정URI와 지정한 확장자의 조합이 들어올 경우 처리되는 것을 볼 수 있습니다.
WebtoB Header절
a. Header 설정방법
웹서비스 시 클라이언트 요청을 gzip으로 압축하여 전송할 경우 적은 패킷을 이용하기 때문에 네트워크 비용을 줄이고 빠른 전송속도를 적용할 수 있습니다. 하지만 압축은 CPU비용이 들어가기 때문에 경우에 따라서 오히려 성능저하가 발생할 수 있습니다. 이를 회피하기 위해 파일 전송 시점에 압축하는 것이 아니라 미리 압축된 파일을 전송한다면 성능 저하를 회피할 수 있습니다. RegExp 설정을 이용하여 Content-Encoding 을 아래와 같이 지정하면 특정 확장자(미리 압축처리한 파일)를 전송할 수 있습니다.
gzip action = "AddResponse", FieldName = "Content-Encoding", FieldValue = "gzip" , RegExp="\.(js.gz)$"
b. 상태확인
디버깅(피들러/와이어샤크 등) 툴을 통해 정상처리 유무를 확인할 수 있습니다.
Context-Encoding이 gzip으로 압축되어 전송하는것을 볼 수 있습니다.
WebtoB Accesss절
a. Access 설정방법
Access 절을 활용하여 클라이언트에서 접속을 시도할 때 IP주소, network/netmask, Header 정보들을 기준으로 요청의
허용/제한을 설정할 수 있습니다.
Access 절은 DIRECTORY절, URI절, EXT절, TCPGW절에 적용 될 수 있습니다.
이중 allowif, denyif를 활용하여 무단으로 링크를 사용하는 것을 방지할 수 있습니다.
b. 상태확인
상단에 설정한 값은 특정 도메인을 호출함에 있어 referer값이 *.tmax.co.kr일 경우에만 허용을 하겠다는 정규표현식이다.
즉, www.tmax.co.kr, mail.tmax.co.kr과 같은 페이지에서 accessDomain Access 절이 적용된 도메인을 호출 했을 경우 호출이 되지만, www.tmaxsoft.co.kr, www.naver.com과 같은 페이지에서 accessDomain Access 절이 적용된 도메인을 호출 했을 경우에는 다음과 같이 접근을 제어할 수 있다.
위와 같이 클라이언트의 접속제한을 설정할 수 있습니다.
이번 포스팅에서는 GotoEXT와 정규표현식에 대해 알아보았습니다. 위 두가지 옵션은 상황에 따라 설정을 간편하게 하고 가독성을 높여주는 역할을 수행합니다. 직접 설정해 보고 테스트 해 보시기 바랍니다.
고맙습니다.
'④ 미들웨어 > ⓦ WebtoB' 카테고리의 다른 글
[WebtoB] LBServers 활용 가이드 (0) | 2018.08.13 |
---|---|
[WebtoB] SSL 접속 테스트 (0) | 2018.08.12 |
[WebtoB] PHP 설치 및 연동 가이드 (0) | 2018.08.09 |
[WEBTOB] 로그 설정가이드 (로그레벨, TraceLog, AccessLog) (0) | 2018.08.07 |
[WebtoB] Fast CGI 설정 및 예제 (0) | 2018.08.06 |
- Total
- Today
- Yesterday
- apache
- SWA
- OpenStack
- webtob
- openstack token issue
- kubernetes
- k8s
- aa
- git
- SA
- API Gateway
- TA
- Docker
- jeus
- Architecture
- wildfly
- 마이크로서비스
- openstack tenant
- node.js
- MSA
- 마이크로서비스 아키텍처
- 오픈스택
- 아키텍처
- JEUS7
- aws
- 쿠버네티스
- Da
- nodejs
- JEUS6
- JBoss
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |