jetty + apache httpd 反向代理配置
2013-01-05 12:28
183 查看
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.soLoadModuleproxy_http_modulemodules/mod_proxy_http.soWindowsXp平台上的httpd发行版是自带mod_proxy模块的,不需要另行安装。在Linux平台可能需要启动相关的编译选项。
2.启用请求转发功能。将以下代码添加到httpd.conf文件中。
ProxyRequests Off<Proxy *>
Order deny,allowAllow from all</Proxy>
3.被代理的路径必需在配置文件中明确给出。且需要提供jetty的完整路径。如下:
ProxyPass /test http://localhost:8080/test4.按照apachehttpd文档中的说明,如果启用ProxyPassReverse特性,则httpd就能重写请求报文中的URL信息。同样,Jetty也提供了URL重写功能。我们也可以通过启用ProxyPreserveHost选项,即可使用jetty的重写功能。如下:
ProxyPreserveHostOn如果用户想保留请求中原有的主机信息,则可以设置jetty的forwarded属性,如下:
<Configure id="Server"class="org.eclipse.jetty.server.Server"> ... <Call name="addConnector"> <Arg> <Newclass="org.eclipse.jetty.nio.SelectChannelConnector"> <Setname="port">8080</Set> <Setname="forwarded">true</Set> </New> </Arg> </Call> ...</Configure>或者通过以下设置,强制所有的ServletRequest.getRemoteAddr()返回值都是相同的。(假设在Http请求头不可用的情况下),可以做如下设置:<Configureid="Server"
class="org.mortbay.jetty.Server"> ... <Call name="addConnector"> <Arg> <Newclass="org.mortbay.jetty.nio.SelectChannelConnector"> <Setname="port">8080</Set> <Setname="forwarded">true</Set> <Setname="hostHeader">example.com:81</Set> </New>
</Arg> </Call> ...</Configure>5.启动httpd和jetty服务器。访问httpd的http://localhost/test路径时,会显示http://localhost:8080/test相同的内容。
风流终被雨打风吹去……
转载于http://blog.romebuilder.com/2011/01/273/
2.2.13, WinXp环境下的配置:
1.启动httpd的代理模块。 修改httpd.conf文件,去掉以下现行的注释。
LoadModule proxy_module modules/mod_proxy.soLoadModuleproxy_http_modulemodules/mod_proxy_http.soWindowsXp平台上的httpd发行版是自带mod_proxy模块的,不需要另行安装。在Linux平台可能需要启动相关的编译选项。
2.启用请求转发功能。将以下代码添加到httpd.conf文件中。
ProxyRequests Off<Proxy *>
Order deny,allowAllow from all</Proxy>
3.被代理的路径必需在配置文件中明确给出。且需要提供jetty的完整路径。如下:
ProxyPass /test http://localhost:8080/test4.按照apachehttpd文档中的说明,如果启用ProxyPassReverse特性,则httpd就能重写请求报文中的URL信息。同样,Jetty也提供了URL重写功能。我们也可以通过启用ProxyPreserveHost选项,即可使用jetty的重写功能。如下:
ProxyPreserveHostOn如果用户想保留请求中原有的主机信息,则可以设置jetty的forwarded属性,如下:
<Configure id="Server"class="org.eclipse.jetty.server.Server"> ... <Call name="addConnector"> <Arg> <Newclass="org.eclipse.jetty.nio.SelectChannelConnector"> <Setname="port">8080</Set> <Setname="forwarded">true</Set> </New> </Arg> </Call> ...</Configure>或者通过以下设置,强制所有的ServletRequest.getRemoteAddr()返回值都是相同的。(假设在Http请求头不可用的情况下),可以做如下设置:<Configureid="Server"
class="org.mortbay.jetty.Server"> ... <Call name="addConnector"> <Arg> <Newclass="org.mortbay.jetty.nio.SelectChannelConnector"> <Setname="port">8080</Set> <Setname="forwarded">true</Set> <Setname="hostHeader">example.com:81</Set> </New>
</Arg> </Call> ...</Configure>5.启动httpd和jetty服务器。访问httpd的http://localhost/test路径时,会显示http://localhost:8080/test相同的内容。
风流终被雨打风吹去……
转载于http://blog.romebuilder.com/2011/01/273/
相关文章推荐
- 从源代码编译安装Apache-httpd-2.4.23及虚拟主机和反向代理的配置
- Apache 在配置文件httpd.conf加反向代理功能
- 代码加载Apache 在配置文件httpd.conf加反向代理功能
- Apache Httpd 反向代理配置
- jetty + apache httpd 反向代理配置
- Apache配置正向代理与反向代理
- apache配置反向代理以及实现url重写,防盗链
- windows下apache的httpd.conf几点配置要素
- ftp用户权限(其实是PHP的php.ini或APACHE的httpd.conf配置 限制目录访问)
- apache httpd监听端口配置错误导致的网站不能访问
- CentOS 7.2配置Apache服务httpd(上)
- apache开启虚拟主机功能与httpd-vhosts.conf 配置分享
- wamp的最新apache2.4.9配置httpd.conf允许外部访问
- Apache配置正向代理与反向代理
- Apache配置正向代理与反向代理
- CentOS 7.2 配置Apache服务(httpd)--下篇
- svn服务器的配置以及与apache httpd的整合工作记录
- apache配置文件httpd.conf解说
- Apache Httpd 2.2 配置CA证书,实现Https加密通讯
- Apache配置虚拟主机httpd-vhosts.conf