欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

apache反向代理到jetty Apache

程序员文章站 2022-06-05 15:35:41
...

apache和jetty组合使用有三种方式

There are three main ways to connect Apache to Jetty:
   1. Using Apache mod_proxy and a normal Jetty HTTP connector.
   2. Using Apache mod_proxy_ajp and the Jetty AJP connector.
   3. Using Apache mod_jk and the Jetty AJP connector. 

 

jetty推荐的是第一种

We recommend using the HTTP connectors for the following reasons:
    * Jetty performs significantly better with HTTP.
    * The AJP protocol is poorly documented and has many version irregularities.
If you must use AJP, the mod_proxy_ajp module is better than mod_jk. Previously, the load balancing capabilities of mod_jk meant that you had to use (tolerate) it, but with Apache 2.2, mod_proxy_balancer is available and works over HTTP and AJP connectors. 

 

第一种用mod_proxy,实际上是配置反向代理,只是简单的将url转发到jetty,如果要实现负载均衡,apache还需要加载mod_blancer。具体配置比较简单,首先在httpd.conf添加module

LoadModule proxy_module /usr/ali/apache2/modules/mod_proxy.so
LoadModule proxy_balancer_module /usr/ali/apache2/modules/mod_proxy_balancer.so
LoadModule proxy_http_module /usr/ali/apache2/modules/mod_proxy_http.so
LoadModule proxy_ajp_module /usr/ali/apache2/modules/mod_proxy_ajp.so
LoadModule jk_module /usr/ali/apache2/modules/mod_jk.so

 

然后在httpd.conf末尾加上反向代理配置

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /test http://localhost:8080/
ProxyPass / http://localhost:8080/

 

apache配置的是80端口,当访问http://localhost或者http://localhost/test时,请求应该转发到jetty,就是http://localhost:8080,配置完成后,启动apache,然后访问http://localhost,访问的是jetty页面。


如果要配置负载均衡,假设本机有两个jetty实例,监听端口分别是8080,8090。则简单的负载均衡配置部分如下

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /test balancer://mycluster
ProxyPass / balancer://mycluster

<Proxy balancer://mycluster>
BalancerMember http://localhost:8080
BalancerMember http://localhost:8090
</Proxy> 
 


相关标签: Apache