apache轉發代理配置

配置域名:web

1.在windows系統文件中配置hosts,apache

添加127.0.0.1 www.nhn-test.comwindows

2.在Apache配置文件中去掉瀏覽器

conf/extra/httpd-vhosts.conf 前面的註解,便可引用httpd-vhosts.conf文件tomcat

3.在httpd-vhosts.conf中加入app

<VirtualHost *:80>
DocumentRoot "E:\myWorkplays\hangame-template-master_hangame-template-master\src\main\webapp\WEB-INF\jsp"
ServerName www.nhn-test.com
</VirtualHost>webapp

便可經過http://www.nhn-test.com:8080/hangame-template/page?name=t 進行訪問jsp

出現問題:網站

Invalid command 'Order', perhaps misspelled or defined by a module not included in the server config .net

開始配置出現上面的報錯信息

解決辦法:

把#LoadModule access_compat_module modules/mod_access_compat.so

前面改爲:

LoadModule access_compat_module modules/mod_access_compat.so

4.以上配置訪問須要加端口,因此須要配置反向代理,才能夠實現域名不帶端口訪問

httpd寫反向代理,把制定域名的80端口映射到8080便可

配置代理:

1.將httpd.conf中

mod_proxy.so

mod_proxy_http.so前面的註釋去掉

開啓代理使apache具有將URL轉發給Tomcat的能力。

2.在httpd-vhosts.conf中添加

ProxyPass /    http://www.nhn-test.com:8080/
ProxyPassReverse / http://www.nhn-test.com:8080/

便可不加端口號對資源進行訪問。

糾結了一天的坑以及學到的總結:

經常使用的兩種方式:apache轉發代理或者使用mod_jk

我用的就是第一種方法,Apache HTTP service 和 Tomcat server 整合,通常是但願對於用戶只公佈Apache HTTP server 的網址,而Tomcat的網址則不公佈,達到對網站的保護,訪問Tomcat的HTTP請求,經過Apache轉發給Tomcat,Tomcat處理結束後,將回應的結果返回到Apache,而後Apache HTTP 再回應發回給用戶瀏覽器。

方法:使用mod_jk,不少網站上介紹到apache和tomcat整合的時候,都是接受so的使用,這是一種比較老的方法,並且如今tomcat的官網上已經沒有了對y應so的下載,因此我這邊沒有找到其資源,配置文件都須要改動,因此我不推薦使用。

還有其餘幾種方法https://blog.csdn.net/huhuhuemail/article/details/78183579

我用的是mod_proxy方法,是Apache自帶功能,而且配置比較簡單。

相關文章
相關標籤/搜索