连接 Apache 和 Tomcat
http://www.cnblogs.com/wpjsolo/archive/2012/01/19/2327457.html
http://httpd.apache.org/docs/current/zh-cn/vhosts/name-based.html
我的目标是: 用户访问 www.server.com 或 server.com 时, 由 Apache 处理请求, 当用户访问 tomcat.server.com 时, 由 Tomcat 处理请求.
一、设置 Apache 虚拟主机:
vim /etc/httpd/conf/httpd.conf
在 Group apache
一句后面增加:
<VirtualHost *:80>
# This first-listed virtual host is also the default for *:80
ServerName www.server.com
ServerAlias server.com
DocumentRoot "/var/www/html"
</VirtualHost>
<VirtualHost *:80>
ServerName tomcat.server.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
二、解决proxy引发的request.getServerName()问题
vim /opt/apache-tomcat-9.0.0.M8/conf/server.xml
将
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
/>
改为:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
proxyName="apache"
proxyPort="80"
/>
三、重启服务
service httpd restart
service tomcat restart
四、配置模拟 DNS
参考模拟 DNS 一章, 增加记录:
192.168.19.222 www.server.com
192.168.19.222 tomcat.server.com
五、测试
访问 www.server.com 或 server.com 时, 看到的是 Apache 的欢迎页面, 访问 tomcat.server.com 时, 看到的是 Tomcat 的欢迎页面, 则说明配置成功.