国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

使用Apache 反向代理功能連接 Tomcat

2016-07-27 18:15:49 10624

  Apache HTTP server 和 Tomcat server 整合,一般是希望對(duì)于用戶(hù)只公布 Apache HTTP server 的網(wǎng)址,而 Tomcat 的網(wǎng)址則不公布,扮演一個(gè)幕后英雄的角色。訪(fǎng)問(wèn) Tomcat 的 HTTP 請(qǐng)求,通過(guò) Apache 轉(zhuǎn)發(fā)給 Tomcat,Tomcat 處理完后,將 HTTP 回應(yīng)返回給 Apache,然后 Apache  HTTP 回應(yīng)發(fā)回給用戶(hù)端瀏覽器。

Apache HTTP server 和 Tomcat server 直接的 HTTP 數(shù)據(jù)傳輸,有很多種方法。

方法一,使用 mod_jk。很多網(wǎng)站上介紹到 Apache HTTP server 和 Tomcat server 整合的時(shí)候,都是在介紹  mod_jk.so 的使用,這是一種比較老的方法,并且需要額外下載 mod_jk。Apache 和 Tomcat 的默認(rèn)配置文件都需要改動(dòng)。

方法二, URL rewrite,也就是對(duì)于指定格式的 URL,轉(zhuǎn)發(fā)給某個(gè) Tomcat 的網(wǎng)址。這里所說(shuō)的指定格式,是指 Apache 所使用的正則表達(dá)式,通俗地將,是一種類(lèi)似 * 的一種比較高級(jí)通配符。這種方法不需要下在額外的文件,只需要配置 Apache。

方法三,mod_proxy_ajp,僅在 Apache 2.1 ?以后的版本中可用,Apache 自帶的一個(gè)新功能模塊。這時(shí) Apache 使用 Apache JServ Protocol 與 Tomcat 通訊。不需要下在額外的文件,需要改動(dòng)Apache 和 Tomcat 的默認(rèn)配置文件都需要改動(dòng)。

方法四,mod_proxy。其實(shí) mod_proxy 既可以做類(lèi)似于 Wingate 一樣的公司局域網(wǎng)共享上網(wǎng)代理,也可以做反向代理(Reverse proxy)。這里使用的是反向代理功能,用戶(hù)端瀏覽器不需要把代理服務(wù)?改成這里的 Apache 地址。mod_proxy 是 Apache 自帶功能,并且配置比較簡(jiǎn)單。

這篇文章介紹 Apache 反向代理轉(zhuǎn)發(fā) HTTP 請(qǐng)求到 Tomcat 的配置。比較簡(jiǎn)單實(shí)用。

下載 Apache web server  2.2,安裝完成后,修改?裝目錄下的 conf/httpd.conf 文件,將以下兩行前的注釋字符 # 去掉。

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

在這個(gè)配置文件最后,加上

ProxyPass                  /app1 http://<tomcat_server_address>:port/url1

ProxyPassReverse  /app1 http://<tomcat_server_address>:port/url1

保存配置文件后重新啟動(dòng) Apache 就可以了。當(dāng)用戶(hù)訪(fǎng)問(wèn)

http://<apache_server_address>/app1 的時(shí)候,Apache 后臺(tái)自動(dòng)將請(qǐng)求轉(zhuǎn)發(fā)給 Tomcat ,用戶(hù)只認(rèn)為 Apache server 就是他所要的應(yīng)用服務(wù)器。

細(xì)心的作者可以看到,Tomcat 那邊沒(méi)有做任何改動(dòng),是不是說(shuō)明,如果 Tomcat 換成 JBoss,或者 IBM Websphere,或者 BEA Weblogic ,也可以用 Apache 來(lái)轉(zhuǎn)發(fā)呢?答案是,確實(shí)如此?。?/p>

這里需要解釋的是, Apache 反向代理只做 HTTP 透明轉(zhuǎn)發(fā),因此,Tomcat 那邊,如果使用 servelet API 獲取 request url, server info,等等,都是 Tomcat 的。在Tomcat 上的 JSP 或者 HTML 文件里面,都應(yīng)該是相對(duì)路徑,不應(yīng)該使用絕對(duì)路徑,更不能使用帶 Tomcat 地址的 URL。這應(yīng)該不是太高的要求,對(duì)不?

目前最新版的 Apache 自帶的 cache ,只能配置成 server 或者 virtual host 一級(jí)的,沒(méi)有辦法配置到 URL 一級(jí)。好在一般的 J2EE 應(yīng)用性能問(wèn)題,一般都在動(dòng)態(tài)網(wǎng)頁(yè)部分,靜態(tài)網(wǎng)頁(yè)很好,因此也沒(méi)有太大關(guān)系。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: