The Jakarta Project
      The Tomcat Servlet/JSP Container

Links

Getting Started

Administrators

Application Developers

Catalina Developers

Jasper Developers

Proxy Support HOW-TO

¼Ò°³ Introduction

ÅèĹÀÇ Ç¥ÁØ ¼³Á¤À» »ç¿ëÇÏ¿© À¥¾îÇø®ÄÉÀ̼ÇÀº ¿äûÀÌ Ã³¸®µÇ´Â ¼­¹ö À̸§°ú Æ÷Æ®¸¦ ¿ä±¸ÇÒ ¼ö ÀÖ´Ù. ÅèĹÀÌ HTTP/1.1 Ä¿³ØÅ͸¦ °¡Áö°í µ¶¸³ÀûÀ¸·Î(standalone) ±¸µ¿Çϰí ÀÖÀ»¶§, ÀϹÝÀûÀ¸·Î ¿äû¿¡ ÁöÁ¤µÈ ¼­¹ö À̸§°ú, Ä¿³ØÅͰ¡ ¸®½º´×ÇÏ´Â Æ÷Æ® ¹øÈ£¸¦ º¸°íÇÑ´Ù. ÀÌ ¸ñÀû°ú °ü·ÃÇÑ µÎ °³ÀÇ ¼­ºí¸´ API ¸Þ¼Òµå°¡ ÀÖ´Ù.

  • ServletRequest.getServerName()
  • ServletRequest.getServerPort()

ÇÁ¶ô½Ã ¼­¹ö(¶Ç´Â ÇÁ¶ô½Ã ¼­¹öó·³ ÀÛµ¿Çϵµ·Ï ¼³Á¤ÇÑ À¥¼­¹ö) ¹èÈÄ¿¡¼­ ÅèĹÀ» ±¸µ¿ÇÑ´Ù¸é ¶§·Î´Â È£Ãâ¿¡¼­ ¸®ÅϵǴ °ªµéÀ» °ü¸®ÇÏ°í ½ÍÀ» °ÍÀÌ´Ù. ƯÈ÷ Ä¿³ØÅͰ¡ ¿­·ÁÀÖ´Â Æ÷Æ® ¹øÈ£°¡ ¾Æ´Ñ º»·¡ÀÇ ¿äû¿¡¼­ ÁöÁ¤ÇÑ Æ÷Æ®¸¦ ÀϹÝÀûÀ¸·Î ¿øÇÒ °ÍÀÌ´Ù. ÀÌ °ªµéÀ» ¼³Á¤Çϱâ À§ÇÏ¿© <Connector>¿¤¸®¸ÕÆ®¿¡¼­ proxyName°ú proxyPort¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

ÇÁ¶ô½Ã Áö¿øÀº ¿©·¯ ÇàŸ¦ ¶î ¼ö ÀÖ´Ù. ´ÙÀ½ ¼½¼ÇµéÀº ¸î °¡Áö ÀϹÝÀÇ °æ¿ì ÇÁ¶ô½Ã ¼³Á¤À» ¸»Çϰí ÀÖ´Ù.

Apache 1.3ÀÇ ÇÁ¶ô½Ã Áö¿ø Apache 1.3 Proxy Support

Apache 1.3Àº À¥¼­¹ö¸¦ ÇÁ¶ô½Ã ¼­¹ö·Î »ç¿ëÇϵµ·Ï ¼³Á¤ÇÏ´Â ¼±ÅÃÀûÀÎ ¸ðµâ(mod_proxy)À» Áö¿øÇÑ´Ù. À̰ÍÀº ±»ÀÌ mod_webapp°°Àº À¥ Ä¿³ØÅ͸¦ ¼³Á¤ÇÒ ÇÊ¿ä ¾øÀÌ Æ¯Á¤ À¥ ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ¿äûÀ» ÅèĹ 4 ÀνºÅϽº·Î º¸³»´Âµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ­ ¾Æ·¡ ÀÛ¾÷µéÀ» ÇÒ Çʿ䰡 ÀÖ´Ù.

  1. ¾ÆÆÄÄ¡°¡ mod_proxy ¸ðµâÀ» Æ÷ÇÔÇϵµ·Ï ¼³Á¤Ç϶ó. ¸¸ÀÏ ¼Ò½º·ÎºÎÅÍ ºôµåÇϰí ÀÖ´Ù¸é °¡Àå ½¬¿î ¹æ¹ýÀº ./configure ¸í·É¾î ¶óÀο¡ --enable-module=proxy ±¸¹®À» Æ÷ÇÔÇÏ´Â °ÍÀÌ´Ù.
  2. ¸¸ÀÏ À̸¦ Æ÷ÇÔÇÏÁö ¾ÊÀºÃ¤·Î ÀÌ¹Ì ºôµåÇÑ »óŶó¸é httpd.conf ÆÄÀÏ¿¡ ´ÙÀ½ Áö½Ã¹®À» »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡°¡ ½ÃÀÛµÉ ¶§ mod_proxy ¸ðµâÀ» ·ÎµùÇϵµ·Ï Ç϶ó.
    LoadModule proxy_module  {path-to-modules}/mod_proxy.so
    AddModule  mod_proxy.c
    
  3. ÅèĹ 4·Î Æ÷¿öµå ÇϰíÀÚ ÇÏ´Â °¢ À¥ ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇÏ¿© httpd.conf¿¡ µÎ°¡Áö Áö½Ã¹®À» Æ÷ÇÔÇ϶ó. ¿¹¸¦ µé¾î /myapp ÄÁÅØ½ºÆ® ÆÐ½º¿¡ ¾îÇø®ÄÉÀ̼ÇÀ» Æ÷¿öµå ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
    ProxyPass         /myapp  http://localhost:8081/myapp
    ProxyPassReverse  /myapp  http://localhost:8081/myapp
    
    ÀÌ´Â ¾ÆÆÄÄ¡¿¡°Ô http://localhost/myapp/* ÇüÅÂÀÇ URLÀ» Åè°¹ 4 Ä¿³ØÅÍ·Î Æ÷¿öµåÇÏ°Ô ÇÑ´Ù.
  4. ÅèĹ 4¸¦ <Connector>¿ä¼Ò¸¦ Æ÷ÇÔÇϵµ·Ï ¼³Á¤ÇÏ¿© ÀûÀýÇÑ ÇÁ¶ô½Ã ¼¼ÆÃÀÌ µÇµµ·Ï ÇÑ´Ù. ¿¹¸¦ µé¾îº¸ÀÚ.
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
                    port="8081" ...
               proxyName="www.mycompany.com"
               proxyPort="80"/>
    
    ÀÌ´Â ¸ðµç Áß°³µÈ ¿äûµéÀÌ www.mycompany.comÀÇ Æ÷Æ® 80À¸·Î ÇâÇÑ´Ù°í À¥ ¾îÇø®ÄÉÀ̼dz»ÀÇ ¼­ºí¸´µéÀÌ ¿©±â°Ô ÇÑ´Ù.
  5. <Connector>¿¤¸®¸ÕÆ®ÀÇ proxyName ¼Ó¼ºÀ» »ý·«Çصµ µÈ´Ù. ±× °æ¿ì¿¡ request.getServerName()´Â ÅèĹÀÌ ±¸µ¿µÇ´Â È£½ºÆ® ¸íÀ» ¸®ÅÏÇÒ °ÍÀÌ´Ù. À§ÀÇ ¿¹¿¡¼­´Â localhost°¡ µÉ °ÍÀÌ´Ù.
  6. ¸¸ÀÏ 8080 Æ÷Æ®·Î ¿­·ÁÀÖ´Â (µ¿ÀÏÇÑ Service ¿¤¸®¸ÕÆ®¿¡ µé¾î°¡ ÀÖ´Â) <Connector>°¡ ÀÖ´Ù¸é, °¢ Æ÷Æ®ÀÇ ¿äûµéÀÌ µ¿ÀÏÇÑ °¡»ó È£½ºÆ®¿Í À¥ ¾îÇø®ÄÉÀÌ¼Ç ÁýÇÕÀ» °øÀ¯Çϰí ÀÖÀ» °ÍÀÌ´Ù.
  7. ¿î¿µÃ¼Á¦ÀÇ IP ÇÊÅ͸µÀÌÀ», ¾ÆÆÄÄ¡°¡ ±¸µ¿µÇ´Â ¼­¹ö¿¡¼­¸¸ Çã¿ëµÇ´Â 8081 Æ÷Æ®(ÀÌ ¿¹Á¦¿¡¼­´Â)¿¡ Á¦ÇÑÇϰíÀÚ ÇÒ ¼öµµ ÀÖ´Ù.
  8. ´ë¾ÈÀ¸·Î ´ÙÀ½°ú °°ÀÌ ÇÁ¶ô½Ã¸¦ ÅëÇØ¼­¸¸ À̿밡´ÉÇÑ ÀÏ·ÃÀÇ À¥ ¾îÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¼öµµ ÀÖ´Ù.
    • ´Ù¸¥ <Service>°¡ ÇÁ¶ô½Ã Æ÷Æ®¿¡ ´ëÇÑ ¿ÀÁ÷ ÇϳªÀÇ <Connector>¸¸À» Æ÷ÇÔÇϵµ·Ï ¼³Á¤Ç϶ó.
    • ÇÁ¶ô½Ã·Î Á¢±Ù°¡´ÉÇÑ °¡»ó È£½ºÆ®¿Í À¥¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇØ ÀûÀýÇÑ Engine, Host ±×¸®°í Context ¿¤¸®¸ÕÆ®¸¦ ¼³Á¤Ç϶ó.
    • ¾Õ¿¡ ³ª¿Â °Íó·³ IP ÇÊÅÍ·Î 8081 Æ÷Æ®¸¦ ¸·¾Æµµ µÈ´Ù.
  9. ¾ÆÆÄÄ¡°¡ ¿äûµéÀ» Áß°³ÇÒ ¶§ ¼­¹ö´Â ¿¢¼¼½º ·Î±× ±â·ÏÀ» ³²±ä´Ù. ±×·¯¹Ç·Î ÅèĹ ÀÚü°¡ ¿¢¼¼½º ·Î±×¸¦ ³²±âÁö ¾Ê°Ô Çϱ⸦ ÀϹÝÀûÀ¸·Î ¿øÇÒ °ÍÀÌ´Ù.

¿äûÀÌ ÀÌ·± ½ÄÀ¸·Î Áß°³µÉ ¶§, ¼³Á¤µÈ À¥ ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ¸ðµç ¿äûµéÀº (Á¤ÀûÀÎ ÄÜÅÙÆ®¿¡ ´ëÇÑ ¿äû±îÁö Æ÷ÇÔÇÏ¿©) ÅèĹ¿¡¼­ 󸮵ȴÙ. ´ë½Å mod_webapp À¥ Ä¿³ØÅ͸¦ »ç¿ëÇÏ¿© °¡²û ¼º´ÉÀ» Çâ»ó½Ãų ¼öµµ ÀÖ´Ù. Áï, À¥ ¾îÇø®ÄÉÀÌ¼Ç ¹èÄ¡ µð½ºÅ©¸³ÅÍ(/WEB-INF/web.xml)¿¡ Á¤ÀÇµÈ ÇÊÅÍ¿Í º¸¾È Á¦¾à¿¡ ÀÇÇØ 󸮵ÇÁö ¾ÊÀº Á¤ÀûÀÎ ÄÜÅÙÆ®¸¦ ¾ÆÆÄÄ¡°¡ ó¸®Çϵµ·Ï ÀÚµ¿À¸·Î ¼³Á¤À» ÇÏ´Â °ÍÀÌ´Ù.


Copyright © 1999-2002, Apache Software Foundation