如何将Java应用程序置于Apache HTTP服务器之后
在過(guò)去 ,將Apache HTTP服務(wù)器置于Java應(yīng)用程序服務(wù)器或Java應(yīng)用程序本身的前面是很常見(jiàn)的事情。
其背后的原因非常簡(jiǎn)單,可以以簡(jiǎn)單的方式添加緩存,還可以添加負(fù)載平衡,并且在此靜態(tài)內(nèi)容之上可以由Apache HTTP提供服務(wù),而所有其他請(qǐng)求可以由Java應(yīng)用程序提供服務(wù)。
盡管此設(shè)置不是新功能,但我仍然會(huì)定期遇到它,并且看到很多人仍然對(duì)如何設(shè)置此設(shè)置有疑問(wèn)。
假設(shè)您要攔截對(duì)靜態(tài)文件的所有請(qǐng)求并從硬盤(pán)驅(qū)動(dòng)器提供服務(wù),而所有其他請(qǐng)求都需要傳遞給Tomcat。
安裝Apache HTTP服務(wù)器后,下一步是添加特定模塊
- mod_proxy
- mod_proxy_http
- mod_rewrite
在某些系統(tǒng)上,可以通過(guò)這種方式完成
$ a2enmod rewrite $ a2enmod proxy $ a2enmod proxy_http之后,需要更新Apache HTTP服務(wù)器的此配置文件。 找到conf文件
<VirtualHost *: 80 > ....... </VirtualHost>添加重寫(xiě)規(guī)則,該規(guī)則將攔截對(duì)靜態(tài)的所有調(diào)用并將其更改為從硬盤(pán)提供服務(wù)
# rewrite from static # rewrite from to it shark static RewriteEngine on RewriteRule ^/ static /(.+) /itshark/$ 1 [L,PT] Alias "/itshark" "/location/on/disk" 這樣,我們對(duì)Apache HTTP說(shuō),所有以/ static開(kāi)頭的URL請(qǐng)求都應(yīng)重寫(xiě)為/ itshark /
之后,我們說(shuō)所有對(duì)/ itshark的請(qǐng)求應(yīng)從/ location / on / disk提供 。 我們還需要將此部分添加到配置中,以便Apache HTTP能夠訪問(wèn)它。
<Directory "/location/on/disk" > Options None AllowOverride None Require all granted </Directory>根據(jù)您的操作系統(tǒng)和Apache HTTP版本,此文件應(yīng)位于主conf文件中(例如:/etc/apache2/apache2.conf)或VirtualHost的conf文件中(例如:/ etc / apache2 / sites-enabled / 000- default.conf)。
文件名和位置取決于系統(tǒng)和Apache HTTP版本
現(xiàn)在剩下的就是將所有其余流量發(fā)送到Apache Tomcat。
為此,我們需要將此添加到VirtualHost conf文件中
ProxyPassMatch ^/(itshark)/.*$ ! ProxyPass / http: //localhost:8080/ connectiontimeout=300 timeout=300 retry=3 ProxyPreserveHost On ProxyVia On就是這樣。 對(duì)/ static /的所有請(qǐng)求將最終在/ location / on / disk /中 ,而其他所有請(qǐng)求都將發(fā)送到Apache Tomcat。
翻譯自: https://www.javacodegeeks.com/2019/03/java-behind-apache-http-server.html
總結(jié)
以上是生活随笔為你收集整理的如何将Java应用程序置于Apache HTTP服务器之后的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是linux开发交流发展的信息和资源
- 下一篇: 什么是备案号(备案号正确)