Apache代理多个Tomcat共用80端口的配置方法(win7操作系统) k.o 微软IIS服务器代理Tomcat
上一篇提到一台机器可以配置多个Tomcat 容器, 来启动不同的项目。但是一般机房的服务器只开放80端口,多个Tomcat启动占用多个端口,就需要统一外网访问的端口,此时就需要使用Apache做统一端口的代理。一.介绍Apache是世界使用排名第一的Web服务器软件。本身只支持html 即普通网页。可以通过插件支持php, 还可以与 Tomcat 连通来支持jsp等。
上一篇提到一台机器可以配置多个Tomcat 容器, 来启动不同的项目。但是一般机房的服务器只开放80端口,多个Tomcat启动占用多个端口,就需要统一外网访问的端口,此时就需要使用Apache做统一端口的代理。
一.介绍
Apache是世界使用排名第一的Web服务器软件。本身只支持html 即普通网页。可以通过插件支持php, 还可以与 Tomcat 连通来支持jsp等。
二. Win7安装配置
1 .下载
download地址:http://httpd.apache.org/download.cgi
win下安装时可以选择是否包括OpenSSL(SSL协议):
httpd-2.2.25-win32-x86-no_ssl.msi
httpd-2.2.25-win32-x86-openssl-0.9.8y.msi
2 .安装
如果Apache部署在本地计算机,Network Domain和Server Name都填localhost。
Email Address可随意填写。
3 注意事项:
apache服务器代理功能需使用2.2及以上版本,改版本代理部分已经重新编写,较以前有大幅度的性能提升。
4、 apache配置
修改安装目录下的conf/下的httpd.conf。
1) 备份配置文件
首先备份httpd.conf,复制一份http.conf并改名httpd.conf.bak;以备还原。
2) 监听端口:
#Listen 12.34.56.78:80
Listen 80 将监听端口改为对应的端口。我将端口改为Listen 8898.该配置将会导致该机器所有的ip地址均会被绑定到8888端口;会导致带有网络风险。
部署机器采用绑定的ip和端口的方式。格式为: Listen 12.34.56.78:80
3) 启用代理模块
将#LoadModule proxy_module modules/mod_proxy.so前的#去掉;
4) 启用代理模块
将# LoadModuleproxy_http_module modules/mod_proxy_http.so前的#去掉;
5) 首页配置
将<Directory "C:/ProgramFiles/Apache Software Foundation/Apache2.2/htdocs">
的配置Options Indexs FollowSymLinks改为OptionsFollowSymLinks。
6) 在末尾追加
ServerTokens ProductOnly
ServerSignature Off
7) 代理设置
ProxyRequests Off
<Proxy /docs>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /docs http://127.0.0.1:9080/docs
ProxyPassReverse/docshttp://127.0.0.1:9080/docs
8) 如果配置多个,复制以下配置,根据实际情况,修改即可。
<Proxy /docs>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /docs http://127.0.0.1:7080/docs
ProxyPassReverse/docs http://127.0.0.1:7080/docs
9) 关于<Proxy /docs>
您可以通过<Proxy>的阻止功能来控制谁能访问您的代理。示例如下:
<Proxy *>
Order Deny,Allow
Deny from all
Allow from 192.168.0
</Proxy>
详细配置和说明见下:
Order指令控制默认的访问状态与Allow和Deny指令生效的顺序。Ordering取值范围是以下几种范例之一:
Deny,Allow
Deny指令在Allow指令之前被评估。默认允许所有访问。任何不匹配Deny指令或者匹配Allow指令的客户都被允许访问。
Allow,Deny
Allow指令在Deny指令之前被评估。默认拒绝所有访问。任何不匹配Allow指令或者匹配Deny指令的客户都将被禁止访问。
Mutual-failure
只有出现在Allow列表并且不出现在Deny列表中的主机才被允许访问。这种顺序与"OrderAllow,Deny"具有同样效果,不赞成使用。
关键字只能用逗号分隔;它们之间不能有空格。注意在所有情况下每个Allow和Deny指令语句都将被评估。
在下面的例子中,apache.org域中所有主机都允许访问,而其他任何主机的访问都将被拒绝。
Order Deny,Allow
Deny from all
Allow from apache.org
下面例子中,apache.org域中所有主机,除了foo.apache.org子域包含的主机被拒绝以外,其他都允许访问。而所有不在apache.org域中的主机都不允许访问,因为默认状态是拒绝对服务器的访问。
Order Allow,Deny
Allow from apache.org
Deny from foo.apache.org
另一方面,如果上个例子中的Order指令改变为"Deny,Allow",将允许所有主机的访问。这是因为,不管配置文件中指令的实际顺序如何,"Allow from apache.org"指令会最后被评估到并覆盖之前的"Deny from foo.apache.org"。所有不在apache.org域中的主机也允许访问是因为默认状态被改变到了允许。
即使没有伴随Allow和Deny指令,一个Order指令的存在也会影响到服务器上某一个部分的访问,这是由于它对默认访问状态的影响。例如:
<Directory /www>
Order Allow,Deny
</Directory>
这样将会禁止所有对/www目录的访问,因为默认状态将被设置为拒绝。
10) 其他配置见apache相关文档。
至此Apache配置完成
测试是否配置成功
启动Apache后访问如下地址 出现 it works!表示apache能够成功启动。
访问http://127.0.0.1:8898/docs 如下图:表示代理的Tomcat容器中启动的项目也成功了。
更多推荐
所有评论(0)