在上一篇筆記http://www.reibang.com/p/08fa0913121d中,配置了兩個tomcat的虛擬主機
默認的localhost主機以及www.test.com仆嗦,如下:
在這里我用httpd反向代理Tomcat淑际。
httpd和tomcat的通信虐秦,可以用http協(xié)議,也可以用ajp接口塞椎。
一唱凯、使用http協(xié)議進行反向代理
1羡忘、配置httpd虛擬主機
[root@CentOS7A ~]#vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName www.httpd.com #httpd主機名
ProxyRequests Off #不開啟正向代理
ProxyVia On #給客戶端的報文頭發(fā)送代理信息
ProxyPreserveHost On #是否把客戶端請求的主機名發(fā)送到后端tomcat。
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://127.0.0.1:8080/ #代理到本機的8080端口
ProxyPassReverse / http://127.0.0.1:8080/
<Location />
Require all granted
</Location>
</VirtualHost>
測試:
給www.httpd.com的配置hosts磕昼,實現(xiàn)域名解析卷雕。
可以看到,由于我的tomcat沒有www.httpd.com這個主機票从,默認訪問localhost這個主機漫雕。
2、用http反向代理到tomcat的www.test.com主機
tomcat配置了www.test.com主機峰鄙,我這里用httpd反向代理到該主機浸间。
給www.test.com的配置hosts,實現(xiàn)域名解析吟榴】猓可以看到,代理到tomcat的www.test.com主機上了吩翻。
這里關鍵的是要開啟:ProxyPreserveHost On 兜看。否則無法把主機名傳到tomcat。
二狭瞎、使用httpd的ajp接口進行反向代理
tomcat的ajp監(jiān)聽在8009端口细移,我們只需要把http改成ajp,把8080改成8009端口即可脚作。
訪問結果一樣: