您的位置:首页 > 运维架构 > 反向代理

apache反向代理

2016-06-14 11:36 399 查看
正向代理是客户端发送请求给代理服务器,代理服务器将请求发给实际处理的服务器

反向代理是客户端发送请求给服务器(实际上是个代理服务器),服务器将请求发给实际处理的服务器

情景

在一台服务器上开了apache(侦听80端口),又开了tomcat(侦听8080端口)

顶级域名解析到了apache这个服务器,想用二级域名访问到tomcat服务器下面的某个项目

解决方案

一、泛解析域名

先在云解析上配置二级域名的解析



这样子配置了,所有二级域名都会解析到了

二、APACHE配置

apache配置分为2步

第一步在/conf/extra/httpd-vhosts.conf中配置反向代理

第二步在/conf/httpd.conf中开启代理模块和导入httpd-vhosts.conf


1.配置反向代理

#反向代理到tomcat的虚拟主机

#需要代理的域名

ServerName www.abc.wewill.top

#代理域名的别名

#ServerName和ServerAlias都会被代理

ServerAlias abc.wewill.top

#反向代理不需要开启ProxyRequests

ProxyRequests Off

Order deny,allow

#接受来自任何地方的请求

Allow from all

#将www.abc.wewill.top/*转发请求给http://localhost:8080/abc/*

ProxyPass / http://localhost:8080/abc/*



2.开启代理和导入配置

在/conf/httpd.conf中配置
#找到下面的配置,把前面的注释#去掉

#在apache开启时加载代理模块

LoadModule proxy_module modules/mod_proxy.so

#在apache开启时加载代理http模块

LoadModule proxy_http_module modules/mod_proxy_http.so

#导入conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-vhosts.conf


实验

访问cmbc.wewill.top

 


这个html是在tomcat中cmbc项目的,从apache代理到tomcat成功了



响应头中,服务器写着:apache,却不是tomcat

因为apache作为代理服务器,接受请求和发送相应都是apache的工作

原文地址:点击打开链接

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: