ubuntu 14.04+apache 反向代理设置

第一步

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer

第二步

在ubuntu的apache里,每个网站的配置文件是放在单独的文件里,找到 sites-available 文件夹里对应的文件并修改,修改后的配置文件差不多是下面的样子。
ServerName www.a.com
DocumentRoot “/var/site/www/”
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://host.com/
ProxyPassReverse / http://host.com/

ProxyRequests 是代理的类型,如果是 on
呢就表示正向代理,我们这里需要的是反向代理,就设置为off。ProxyPassReverse /
http://host.com/  呢就表示把所有的来自根目录的请求都代理到 http://host.com/ 的根目录下。

第三步

重启 apache服务

service apache restart

这里面说一下

ProxyPass与ProxyPassReverse及ProxyPassMatch的概述

1、ProxyPass:

语法:ProxyPass [path] !|url

它主要是用作URL前缀匹配,不能有正则表达式,它里面配置的Path实际上是一个虚拟的路径,在反向代理到后端的url后,path是不会带过去的,使用示例:

1)、ProxyPass /images/ !

这个示例表示,/images/的请求不被转发。

2)、ProxyPass /mirror/foo/ http://backend.example.com/

我们假设当前的服务地址是http://example.com/,如果我们做下面这样的请求:

http://example.com/mirror/foo/bar

那将被转成内部请求:

http://backend.example.com/bar

注:配置的时候,不需要被转发的请求,要配置在需要被转发的请求前面。

2、ProxyPassMatch:

语法:ProxyPassMatch [regex] !|url

这个实际上是url正则匹配,而不是简单的前缀匹配,匹配上的regex部分是会带到后端的url的,这个是与ProxyPass不同的。使用示例:

1、ProxyPassMatch ^/images !

这个示例表示对/images的请求,都不会被转发。

2、ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com$1

这个示例表示对所有gif图片的请求,都被会转到后端,如此时请求http://example.com/foo/bar.gif,那内部将会转换为这样的请求http://backend.example.com/foo/bar.gif。

3、ProxyPassReverse

语法:ProxyPassReverse [路径] url

它一般和ProxyPass指令配合使用,此指令使Apache调整HTTP重定向应答中Location, Content-Location,
URI头里的URL,这样可以避免在Apache作为反向代理使用时,。后端服务器的HTTP重定向造成的绕过反向代理的问题。参看下面的示例:

ProxyPass /example http://www.example.com/
ProxyPassReverse /example http://www.example.com/

ProxyPassReverse的作用就是反向代理,如果没有加这样的反向代理设置的情况下,访问http://www.test.com
/example/a,如果www.example.com对请求进行了redirect至http://www.example.com/b,那么,客
户端就会绕过反向代理,进而访问http://www.test.com/example/b。如果设置了反向代理,则会在转交HTTP重定向应答到客户
端之前调整它为http://www.test.com/example/a/b,即是在原请求之后追加上了redirect的路径。

时间: 2024-11-06 12:22:22

ubuntu 14.04+apache 反向代理设置的相关文章

VirtualBox中Ubuntu 14.04屏幕分辨率不能设置的问题

VirtualBox中Ubuntu 14.04屏幕分辨率不能设置的问题 ??在VirtualBOx虚拟机中Ubuntu 14.04设置屏幕分辨率,怎么点都没反应. 方法一:安装与你的Ubuntu-Guest版本最接近的VirtualBox Guest Additions版本,如下: sudo apt-get install virtualbox-guest-dkms 1 1 ??安装完所需要的包后,重启VirtualBox,便可以以合适的分辨率显示. ??如果运行的是MAC OSX,使用以下命令

Apache 反向代理设置

环境: Debian7.5 + apache2.2.24(wdcp/wdlinux) 1.转至apache源码包的proxy目录: cd /v/softs/lanmp/httpd-2.2.24/modules/proxy 2.执行apxs命令,编译得到mod_proxy.so: sudo /www/wdlinux/apache/bin/apxs -c -i -a mod_proxy.c mod_proxy_connect.c mod_proxy_http.c proxy_util.c #命令完成

Ubuntu 14.04下Gedit编辑器设置为多语言编辑及集成开发环境

Gedit是一个通用的编辑程序,其支持插件及自定义语言设置功能. 以Ubuntu 14.04下的Gedit编辑器为例,介绍其定制方法: 1 安装插件 sudo apt-get install gedit-plugins 2 在gedit中设置插件 略 3 设置语言配置文件 进入语言配置文件夹 cd /usr/share/gtksourceview-3.0/language-specs 查看语言配置文件(*.lang) ls 4 添加语言并根据配置文件设置对应源程序的扩展名 查看当前目录下相近语言

Ubuntu #Apache2 Ubuntu 14.04 LTS系统中设置Apache虚拟主机

虚拟主机常用于在一个单独的IP地址上提供多个域名的网站服务.如果有人想在单个VPS的单个IP地址运行多个网站,这是非常有用的.在这个教程中,让我告诉你如何设置在Ubuntu 14.04 LTS的Apache网页服务器设置虚拟主机.请注意,这个教程只针对Ubuntu14.04的32位版本. 我不保证它也可以工作在其它更低的Ubuntu版本或者Ubuntu衍生版本(虽然可能过程是类似的).方案在这个教程中,我会使用Ubuntu 14.04 32位 LTS,并搭建2个测试网站分别命名为"unixmen

Ubuntu下Apache反向代理设置

Apache可通过mod_proxy*.so系列模块很好的实现正向.反向代理功能,亦可通过反向代理实现负载均衡,本文将讲述基于Apache反向代理实现负载均衡的配置方法. 1.环境配置说明: 代理服务器域名:ap.proxy web server 1 ip:192.168.195.18 port:80 web server 2 ip:192.168.195.19 port:80 backup server ip:192.168.195.20 port:80 2.确认开启模块:mod_proxy,

如何利用Heartbeat与Floating IP在Ubuntu 14.04上创建高可用性设置

提供 ZStack社区 内容简介 Heartbeat是一款开源程序,负责将集群基础设施容量--包括集群成员与消息收发--交付至客户服务器.Hearbeat在高可用性服务器基础设施当中扮演着关键性角色.我们通常需要将Heartbeat与Pacemaker等集群资源管理器(简称CRM)相结合,从而实现完整的高可用性设置.不过在今天的教程中,我们将演示如何利用Heartbeat与DigitalOcean Floating IP轻松创建一套双节点高可用性服务器设置. 如果大家希望进一步提升可用性水平,不

ubuntu 14.04 使用 Nginx 代理 netcore

1.安装 Nginx sudo apt-get install nginx 2.打开配置文件 sudo vi /etc/nginx/sites-available/default 3.server 节点更换为 server { listen 80; listen [::]:80; server_name subdomain.domain.com; location / { proxy_pass http://localhost:5000;#core你自己配置的端口 } } 4.更新配置 sudo

apache反向代理设置

为了方便在内网测试微信接口API <VirtualHost *:80> ServerName wx.abc.com ProxyPreserveHost on ProxyPass / http://220.11.22.88:8080/ ProxyPassReverse / http://220.11.22.88:8080/</VirtualHost>

apache反向代理和负载均衡

正向代理:正如我们用的游戏加速代理,大多的个人PC把请求发给正向代理服务器,代理服务器通常配置高端的带宽,替我们请求相应的服务 负载均衡中的反向代理:通常意义上,是一个请求转发的代理.类似一个收发室的管理人员,外来的很多邮件,传到收发室,然后由管理员分配给不同的办公室.通过这样的操作,可以使每台服务器避免过多的负载导致宕机.而转发的这个过程,通常也有很多种不同的算法. 总结:正向代理一般是指PC连接到代理服务器,由代理服务器转发请求到网站.而反向代理指的是用户将请求发送给反向代理服务器,由反向代