美文网首页
httpd反向代理Tomcat

httpd反向代理Tomcat

作者: 姜饼人_9e7b | 来源:发表于2017-09-03 17:09 被阅读0次

    在上一篇笔记http://www.jianshu.com/p/08fa0913121d中,配置了两个tomcat的虚拟主机
    默认的localhost主机以及www.test.com,如下:

    image.png

    在这里我用httpd反向代理Tomcat。
    httpd和tomcat的通信,可以用http协议,也可以用ajp接口。

    一、使用http协议进行反向代理

    1、配置httpd虚拟主机

    image.png
    [root@CentOS7A ~]#vim /etc/httpd/conf.d/vhost.conf
    
    <VirtualHost *:80>
            ServerName www.httpd.com                          #httpd主机名
            ProxyRequests Off                                 #不开启正向代理
            ProxyVia On                                       #给客户端的报文头发送代理信息
            ProxyPreserveHost On                              #是否把客户端请求的主机名发送到后端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,实现域名解析。
    可以看到,由于我的tomcat没有www.httpd.com这个主机,默认访问localhost这个主机。

    image.png

    2、用http反向代理到tomcat的www.test.com主机
    tomcat配置了www.test.com主机,我这里用httpd反向代理到该主机。

    image.png

    www.test.com的配置hosts,实现域名解析。可以看到,代理到tomcat的www.test.com主机上了。
    这里关键的是要开启:ProxyPreserveHost On 。否则无法把主机名传到tomcat。

    image.png

    二、使用httpd的ajp接口进行反向代理

    tomcat的ajp监听在8009端口,我们只需要把http改成ajp,把8080改成8009端口即可。

    访问结果一样:

    image.png

    相关文章

      网友评论

          本文标题:httpd反向代理Tomcat

          本文链接:https://www.haomeiwen.com/subject/chrjjxtx.html