티스토리 뷰

728x90
반응형

 포스팅은 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 Regular Expression

특정 문자의 집합 또는 문자열을 기호로 바꾸어 놓는 방법으로, 문자열의 집합을 정확하게 표현하기 위해 쓰이는 표현 규칙. 언어의 문법 정의나 검색해야 할 문자열의 지정에 쓰입니다. 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와 정규표현식에 대해 알아보았습니다. 위 두가지 옵션은 상황에 따라 설정을 간편하게 하고 가독성을 높여주는 역할을 수행합니다. 직접 설정해 보고 테스트 해 보시기 바랍니다.

고맙습니다.

728x90
반응형