• 2004年10月18日

    以代理的方式集成Apache和Tomcat

    Tag:Default

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://fireshort.blogbus.com/logs/448326.html

        这种集成方式比起以mod_jk2集成的方式简单得多,也比较稳定;缺点是全部页面都交给tomcat处理了,性能会差。

        以下文字摘自tomcat的文档,以备忘,方便查找。

    1. Configure your copy of Apache so that it includes the mod_proxy module. If you are building from source, the easiest way to do this is to include the --enable-module=proxy directive on the ./configure command line.
    2. If not already added for you, make sure that you are loading the mod_proxy module at Apache startup time, by using the following directives in your httpd.conf file:
      LoadModule proxy_module  {path-to-modules}/mod_proxy.so
      AddModule  mod_proxy.c
      
    3. Include two directives in your httpd.conf file for each web application that you wish to forward to Tomcat 5. For example, to forward an application at context path /myapp:
      ProxyPass         /myapp  http://localhost:8081/myapp
      ProxyPassReverse  /myapp  http://localhost:8081/myapp
      
      which tells Apache to forward URLs of the form http://localhost/myapp/* to the Tomcat 5 connector listening on port 8081.
    4. Configure your copy of Tomcat 5 to include a special <Connector> element, with appropriate proxy settings, for example:
      <Connector port="8081" ...
                    proxyName="www.mycompany.com"
                    proxyPort="80"/>
      
      which will cause servlets inside this web application to think that all proxied requests were directed to www.mycompany.com on port 80.
    5. It is legal to omit the proxyName attribute from the <Connector> element. If you do so, the value returned by request.getServerName() will by the host name on which Tomcat is running. In the example above, it would be localhost.
    6. If you also have a <Connector> listening on port 8080 (nested within the same Service element), the requests to either port will share the same set of virtual hosts and web applications.
    7. You might wish to use the IP filtering features of your operating system to restrict connections to port 8081 (in this example) to be allowed only from the server that is running Apache.
    8. Alternatively, you can set up a series of web applications that are only available via proxying, as follows:
      • Configure another <Service> that contains only a <Connector> for the proxy port.
      • Configure appropriate Engine, Host, and Context elements for the virtual hosts and web applications accessible via proxying.
      • Optionally, protect port 8081 with IP filters as described earlier.
    9. When requests are proxied by Apache, the web server will be recording these requests in its access log. Therefore, you will generally want to disable any access logging performed by Tomcat itself.

    收藏到:Del.icio.us




    引用地址:

发表评论

您将收到博主的回复邮件
记住我