• AJP与http协议反向代理


    安装httpd

    https://www.cnblogs.com/zh-dream/p/14832154.html

    安装tomcat

    https://www.cnblogs.com/zh-dream/p/13511041.html

     地址规划

    apache地址10.0.0.10    tomcat地址10.0.0.20

    apache开启代理模块

    # vim conf/httpd.conf
    
    LoadModule proxy_module modules/mod_proxy.so       # 反向代理主模块
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so       # AJP协议代理模块

      LoadModule proxy_http_module modules/mod_proxy_http.so # http协议代理模块

    配置http协议的反向代理

    配置apache

    #禁止所有非法域名
    <VirtualHost *:80>
            ServerName 10.0.0.10
            <Location />
                    Order Allow,Deny
                    Deny from all
            </Location>
    </VirtualHost>
    
    #允许域名访问
    <VirtualHost *:80>                        # 监听在本机的80端口
            DocumentRoot htdocs
    
            ServerName web1.test.com      # 主机名
            ServerAlias web1.test.com
            <Directory "test">
                Options Indexes FollowSymLinks
                AllowOverride all
                Order allow,deny
                Allow from all
            </Directory>
    
            ProxyVia on                        # 和nginx的X-via差不多 指明由谁反向代理请求的
            ProxyRequests Off           # 显式关闭正向代理      
            ProxyPreserveHost On               # 将请求向后端转发时,是否支持在后端主机上基于主机名的虚拟主机 httpd自动支持
            <Proxy *>
                 Require all granted          # 允许所有人访问
            </Proxy>
             ProxyPass /  http://10.0.0.20:8080/   # 把对于/下的所有内容的请求反向代理至后面的主机
             ProxyPassReverse /  http://10.0.0.20:8080/
            <Location />
                Require all granted
            </Location>
    </VirtualHost>

    重载apache

    [root@localhost http-2.4.48]# httpd -t
    Syntax OK
    [root@localhost http-2.4.48]# apachectl -k graceful

    tomcat配置访问路径

    $ vim conf/server.xml 
         <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    
          <Context docbase="app" path="/app" reloadable="true" />

    访问测试

     

     

     ajp协议配置反向代理

    [root@localhost http-2.4.48]# vim conf/extra/httpd-vhosts.conf
    # The first VirtualHost section is used for all requests that do not
    # match a ServerName or ServerAlias in any <VirtualHost> block.
    #
    #禁止所有非法域名
    <VirtualHost *:80>
            ServerName 10.0.0.10
            <Location />
                    Order Allow,Deny
                    Deny from all
            </Location>
    </VirtualHost>
    
    #允许域名访问
    <VirtualHost *:80>                        # 监听在本机的80端口
            DocumentRoot htdocs
    
            ServerName web1.test.com
            ServerAlias web1.test.com
            <Directory "test">
                Options Indexes FollowSymLinks
                AllowOverride all
                Order allow,deny
                Allow from all
            </Directory>
    
            ProxyVia on
            ProxyRequests Off
            ProxyPreserveHost On
            <Proxy *>
                 Require all granted
            </Proxy>
             ProxyPass / ajp://10.0.0.20:8009/
             ProxyPassReverse / ajp://10.0.0.20:8009/
            <Location />
                Require all granted
            </Location>
    </VirtualHost>
    "conf/extra/httpd-vhosts.conf" 78L, 2337C written                                                                                         
    [root@localhost http-2.4.48]# httpd -t
    Syntax OK
    [root@localhost http-2.4.48]# systemctl restart httpd

    开启apache的status

    1、修改主配置文件,开启status模块(如果未安装需要重新编译apache,或者使用modprobe导入下载模块)

    LoadModule status_module modules/mod_status.so

    2、修改虚拟主机配置文件

    
    

    [root@localhost http-2.4.48]# cat conf/extra/httpd-vhosts.conf


    #禁止所有非法域名
    <VirtualHost *:80> ServerName 10.0.0.10 <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost> #允许域名访问 <VirtualHost *:80> # 监听在本机的80端口 DocumentRoot htdocs ServerName web1.test.com ServerAlias web1.test.com <Directory "test"> Options Indexes FollowSymLinks AllowOverride all Order allow,deny Allow from all </Directory> ProxyVia on ProxyRequests Off ProxyPreserveHost On <Proxy *> Require all granted </Proxy> ProxyPass /server-status ! ProxyPass / ajp://10.0.0.20:8009/ ProxyPassReverse / ajp://10.0.0.20:8009/ <Location /> Require all granted </Location> <Location /server-status> SetHandler server-status Order Deny,Allow Allow from all </Location> </VirtualHost>

    重启apache并访问测试

    [root@localhost http-2.4.48]# httpd -t
    Syntax OK
    [root@localhost http-2.4.48]# systemctl restart httpd

  • 相关阅读:
    TypeError: Object(…) is not a function
    解决 OSError: [WinError 126] 找不到指定的模块
    LeetCode——和等于 k 的最长子数组长度
    LeetCode——判断子序列
    LeetCode——递增的三元子序列
    LeetCode——字符串相乘
    LeetCode——课程安排 IV
    LeetCode——最小移动次数使数组元素相等
    同源时钟、同相位时钟、同时钟域
    C++ 创建动态二维数组 使用vect<vec> 并初始化为0
  • 原文地址:https://www.cnblogs.com/zh-dream/p/14859962.html
Copyright © 2020-2023  润新知