Apache2.4+Tomcat9.0配置反向代理


所需工具,能看懂標題的人就知道要什么工具(Apache2.4+Tomcat)

運行Tomcat需要jdk,學java的小伙伴都知道吧。

昨天學的知識。現在總結一下並把配置過程發出來。當個記錄以后自己忘了可以看。

在學校大佬講的太亂了,一直在debug。好多人都睡着了,大佬牛逼是牛逼,但是對於我們這些新手他一直在debug我們實在看不懂。

最后大佬弄出來了,給我們總結了一下。他講的過程我也沒怎么聽。跟不上節奏,記不住。。。

隔天早上就開始上網找資料去配置,發現找的資料沒一個能配置成功的,亂七八糟。有些配置后apache都運行不了了。(寫文章的人能不能負點責,自己測試過沒問題后再發出來)

 

okok,進入主題。

先來了解一下什么是反向代理?

當一個代理服務器能夠代理外部網絡上的主機,訪問內部網絡時,這種代理服務的方式稱為反向代理服務

 所謂的反向代理就是你訪問的目標不是直接訪問的,中間是有一個代理給你轉發的。

那么它的作用是什么?

比如我們現在要訪問的站點端口是8080並不是默認的80,而又不想手動在后面輸入自己特定的端口8080。此時就可以用apache的反向代理映射到8080端口

而此時我們訪問的127.0.0.1 其實就是127.0.0.1:8080

 

這是一張簡單的流程圖。看圖就很容理解了(雖然畫的很丑)。

現在就開始配置。

--------------------------------------------------------------------------------------

首先tomcat發布一個項目,但我們知道tomcat發布后訪問的地址是localhost:8080或127.0.0.1:8080

為了逼格高點。我們修改一下本機的host和tomcat的server.xml配置文件。

 host路徑:C:\Windows\System32\drivers\etc

server.xml路徑:Z:\apache-tomcat-9.0.0.M20\conf

如果是最高權限管理員還是沒法修改就把host文件復制到桌面,修改完后再覆蓋掉原來的host就可以了。

hsot添加:

127.0.0.1 baidu.com

不解釋那么多了。注意訪問的時候不要加www

然后再修改server.xml文件添加一個元素就可以了

server.xm添加:

<Host name="baidu.com" autoDeploy="true" unpackWARs="true" appBase="e:\\baidu.com"> </Host>

在你的E盤創建有baidu.com文件夾把項目放里面,啟動tomcat就可以用baidu.com訪問了。

--------------------------------------------------------------------------------------

這里才是配置apache的

其實用apache做反向代理的話只要稍微修改一下就好了,並不用像網上的一樣設置一大堆亂七八糟的。

 在網上看的配置都出錯,我就直接去apache官網看了一下。找到一段代碼復制過去就配置成功了。

<VirtualHost baidu.com:80>
ServerAdmin webmaster@host.example.com
DocumentRoot "e:\\baidu.com"
ServerName baidu.com
ErrorLog "logs/baidu.com"
TransferLog "logs/baidu.com"
ProxyPreserveHost On
ProxyPass / http://baidu.com:8080/
ProxyPassReverse / http://baidu.com:8080/
</VirtualHost>

這是我用baidu.com這個例子改的,如果你的本地域名不是baidu.com換成你自己本地域名就好了

那么這段代碼要添加到哪里呢,放到httpd-vhosts.conf

httpd-vhosts.conf路徑:Z:\Apache24\conf\extra

添加到末尾就行了。

配置到這里就差修改一個配置文件了:httpd.conf

httpd.conf路徑:Z:\Apache24\conf

找到這三句代碼,把注釋去掉就ok了

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Include conf/extra/httpd-vhosts.conf

--------------------------------------------------------------------------------------

此時運行你的apache用baidu.com訪問是不是項目出來了,也不用在后面輸入8080端口了。

按步驟來肯定是可以成功的。

這里提醒一下,直接訪問baidu.com后面不加任何項目名的話在baidu.com目錄下新建一個ROOT文件夾放一個名為index的頁面進去就會自動找這個頁面顯示

最后看一下成功的效果是什么樣的

 

想了解更多的話去官方文檔看吧。

2.4官網鏈接:鼠標點一下帶你飛過去


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM