美文网首页
Apache整合Tomcat

Apache整合Tomcat

作者: 无至 | 来源:发表于2019-05-08 11:33 被阅读0次

使用mod_proxy整合

1、开启Apache的代理功能

#LoadModule proxy_module modules/mod_proxy.so

2、开启Apache代理Tomcat的协议,可以是AJP协议、Http协议等

#LoadModule proxy_http_module modules/mod_proxy_http.so

Apache的代理有两种方式,Reverse方式和Forward方式。Forward方式需要在客户端进行配置以利用代理服务器获取目标内容,Forward方式的一种常见场景就是我们的内网机器都无法连接外网,但是其中有一台可以连接,然后我们在可以连接外网的机器上搭建一个代理,让其它内网机器都通过该代理来访问外部网络。Reverse方式就无需在客户端进行配置了,客户端请求的目标地址是直接对应Reverse代理的,然后由Reverse代理在内部决定请求哪个真实的地址。本文将主要讲解Reverse代理方式。

首先去掉httpd.conf文件中如下内容前的“#”号,以将Virtual Host的配置包含在Apache服务器的配置文件中,然后我们就可以在httpd-vhosts.conf文件中进行Virtual Host的配置了。

#Include conf/extra/httpd-vhosts.conf

然后,我们在conf/extra/httpd-vhosts.conf文件中添加如下内容,其表示我们定义了一个虚拟主机,该虚拟主机将接收任何请求。

<VirtualHost *:80>
     ProxyPass "/" "http://localhost:8080/" max=300
     ProxyPassReverse "/" "http://localhost:8080/"
</VirtualHost>

上述的指令ProxyPass是用来映射代理的路径的,其语法是:

  ProxyPass path !|url [key=value[key=value…]]

其中path表示Apache请求的相对路径,而“!”则表示不对该路径进行代理,url则表示需要代理的路径,后面的key=value表示需要指定的参数。在我们的示例中就是使用根路径“/”代理本地8080端口的根路径“/”,然后参数max表示同时最多允许300个对后台代理服务的并发请求。关于ProxyPass的更多信息请参考http://httpd.apache.org/docs/2.4/zh-cn/mod/mod_proxy.html#proxypass

指令ProxyPassReverse是用来对后台代理应用返回过来的Response Header中的URL进行转换的,使其能够以Apache的形式正确的展示。比如请求后台服务后需要重定向到http://localhost:8080/examples则通过ProxyPassReverse指令进行转换后将会把重定向地址改为http://localhost/examples

这个时候我们在8080端口启动Tomcat,然后在80端口启动Apache,之后我们所有对80端口的请求都将由Apache代理请求到8080端口的Tomcat应用。

如下这样的配置就表示不对“/examples”路径进行代理,此时访问“/examples”时将去Apache自己的路径下寻找对应的资源。

<VirtualHost *:80>
      ProxyPass "/examples" "!"
       ProxyPass "/" "http://localhost:8080/" max=300
       ProxyPassReverse "/" "http://localhost:8080/"
</VirtualHost>

此时如果你在浏览器里面访问http://localhost/examples时会得到一个403页面,原因是Apache默认会禁止对根目录以外的路径的访问。此时,我们需要找到httpd.conf文件中的如下内容:

<Directory />
    AllowOverride none
    Require all denied
</Directory>

并将其修改为如下内容:

<Directory />
    AllowOverride none
    Order Deny,ALlow
    Allow from All
</Directory>

相关文章

  • linux服务器配置步骤

    1、jdk 2、tomcat 3、apache 4、tomcat与apache整合 5、数据库

  • Ubuntu整合Apache和Tomcat

    前两篇已经写了Apache和Tomcat的安装,本文主要探讨Apache和Tomcat的整合。 〇、为什么要整合 ...

  • apache整合tomcat

    首先安装 yum install epel-release 安装 gcc openssl-devel make c...

  • Apache整合Tomcat

    使用mod_proxy整合 1、开启Apache的代理功能 2、开启Apache代理Tomcat的协议,可以是AJ...

  • apache整合tomcat,tomcat集群

    环境:win10,jdk1.8,tomcat9,httpd2.4 1.安装apache 下载地址:https://...

  • Tomcat

    Apache Tomcat Introduction Apache Tomcat is a web server ...

  • tomcat与Apache的整合

    CentOS 6.x用普通用户无法使用1024的端口,当使用80端口时,可以使用iptables做转发。 apac...

  • Linux上部署

    1、下载 Tomcat 9.0 版本 Apache Tomcat® - Apache Tomcat 9 Softw...

  • Tomcat

    tomcat下载:http://tomcat.apache.org/[http://tomcat.apache.o...

  • [java]26、Tomcat部署

    1、Tomcat Apache Tomcat[https://tomcat.apache.org/] 是 Java...

网友评论

      本文标题:Apache整合Tomcat

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