httpd(apache)实现端口映射(多域名或者多端口映射)

httpd(apache)实现端口映射

也可实现Apache配置多域名或者多端口映射(此文档不包含此部分内容)


1、对外只公布一个端口8090。
2、实现同一个8090端口,跳转到内网的8092和8091两个tomcat应用对应的端口。
3、外部访问http://外网IP:8090/cminfo 对应内部应用地址为(端口8092): http://127.0.0.1:8092/cminfo/
外部访问http://外网IP:8090/ 对应内部应用地址为(端口8091):http://127.0.0.1:8091/

注:此内部地址为:两个tomcat部署了两个应用,tomcat应用的端口不相同。


一、找到conf/httpd.conf配置文件,去掉以列四行代码前的#注释,让代码生效

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

二、在conf/httpd.conf配置文件最后面,增加以下代码(注意虚拟目录/cminfo,这句必须在/根目录的前面)


 ServerName  localhost
 ServerAlias localhost
 ProxyPreserveHost On
 ProxyRequests Off

 #有虚拟目录的顺序必须在前面。
 ProxyPass /cminfo http://127.0.0.1:8092/cminfo/
 ProxyPassReverse /cminfo http://127.0.0.1:8092/cminfo/

 #没虚拟目录的顺序在后面,否则,程序以为是本站点下的文件夹或者虚拟目录。
 ProxyPass / http://127.0.0.1:8091/
 ProxyPassReverse /   http://127.0.0.1:8091/


或者


   ServerName  localhost  #可配置域名如xizhi01.com
   ServerAlias localhost  #可配置域名如xizhi01.com
   ProxyPreserveHost On
   ProxyRequests Off
   #有虚拟目录的顺序必须在前面。
   ProxyPass /cminfo http://127.0.0.1:8092/cminfo/
   ProxyPassReverse /cminfo http://127.0.0.1:8092/cminfo/



   ServerName  localhost  #可配置域名如xizhi02.com
   ServerAlias localhost  #可配置域名如xizhi02.com
   ProxyPreserveHost On
   ProxyRequests Off
   #没虚拟目录的顺序在后面,否则,程序以为是本站点下的文件夹或者虚拟目录。
   ProxyPass / http://127.0.0.1:8091/
   ProxyPassReverse /  http://127.0.0.1:8091/

三、浏览器中测试效果:
http://外网IP:8090/cminfo ——> 对应网站A
http://外网IP:8090/ ——> 对应网站B

一切OK,祝好运。

你可能感兴趣的:(httpd(apache)实现端口映射(多域名或者多端口映射))