• jetty + apache httpd 反向代理配置


    Author: ytfei
    Date: 2011-01-04 18:28:26
    原创文章,转载请注明出处!http://blog.romebuilder.com/2011/01/273/

    关于反向代理的概念说明,网上有很多相关文章,这是百度里的一篇:http://baike.baidu.com/view/1165595.htm

    jetty与httpd的通信方式有http和ajp两种协议,jetty官方推荐使用http进行通讯。以下是jetty-7.2.2, apache-httpd 2.2.13, WinXp环境下的配置:

    1.启动httpd的代理模块。 修改httpd.conf文件,去掉以下现行的注释。
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so

    WindowsXp平台上的httpd发行版是自带mod_proxy模块的,不需要另行安装。在Linux平台可能需要启动相关的编译选项。

    2.启用请求转发功能。将以下代码添加到httpd.conf文件中。
    ProxyRequests Off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    3.被代理的路径必需在配置文件中明确给出。且需要提供jetty的完整路径。如下:
    ProxyPass /test http://localhost:8080/test

    4.按照apache httpd文档中的说明,如果启用ProxyPassReverse特性,则httpd就能重写请求报文中的URL信息。同样,Jetty也提供了URL重写功能。我们也可以通过启用ProxyPreserveHost选项,即可使用jetty的重写功能。如下:
    ProxyPreserveHost On
    如果用户想保留请求中原有的主机信息,则可以设置jetty的forwarded属性,如下:

    <Configure id="Server" class="org.eclipse.jetty.server.Server">
    ...
    <Call name="addConnector">
    <Arg>
    <New class="org.eclipse.jetty.nio.SelectChannelConnector">
    <Set name="port">8080</Set>
    <Set name="forwarded">true</Set>
    </New>
    </Arg>
    </Call>
    ...
    </Configure>
    或者通过以下设置,强制所有的ServletRequest.getRemoteAddr()返回值都是相同的。(假设在Http请求头不可用的情况下),可以做如下设置:
    <Configure id="Server" class="org.mortbay.jetty.Server">
    ...
    <Call name="addConnector">
    <Arg>
    <New class="org.mortbay.jetty.nio.SelectChannelConnector">
    <Set name="port">8080</Set>
    <Set name="forwarded">true</Set>
    <Set name="hostHeader">example.com:81</Set>
    </New>
    </Arg>
    </Call>
    ...
    </Configure>

    5.启动httpd和jetty服务器。访问httpd的http://localhost/test路径时,会显示http://localhost:8080/test相同的内容。

  • 相关阅读:
    配置DNS域名解析服务器
    使用buildroot编译bind DNS服务器
    java值得注意的几个问题
    访问权限
    import static与import的区别
    八大排序算法
    移植DNS服务bind
    Sql存储过程中延迟执行
    【转】ado实体数据模型增删改查基本用法
    JS 拖动事件
  • 原文地址:https://www.cnblogs.com/ungshow/p/1926005.html
Copyright © 2020-2023  润新知