apache 配置反向代理服务器

前几天实验了下 nginx 配置反向代理服务器。虽然 nginx 的安装很麻烦,但是用起来倒是很简单。不过组里没人用过 nginx,apache 服务器大家倒是蛮熟,为了减少 ops team 的工作量,我决定使用 apache。

我记得本科时安装过 apache 服务器,当初没有遇到困难。而这次安装却总也安装不成功,公司对机器的权限管理的很严格,我没有 root 权限,没有连接外网权限,编译 apache 时有很多依赖拿不到,最后还是请 ops team 的人帮忙搞定的。

配置 proxy module。apache 服务器的 proxy module 是安装可选的,编译时没有加入反向代理 module,但在编译完成后,依然可以通过修改配置动态加载。配置在 conf/httpd.conf 中,把反向代理相关的 module uncomment 就好。这里需要注意,如果 module 之间存在依赖关系,apache 不会自动 resolve 依赖,反之,它会在 error.log 中告诉我们缺少哪个模块。

至于反向代理的配置,也在 httpd.conf 中,配置的写法和 nginx 非常类似,对于我的需求,只要在 httpd.conf 中添加

Listen 8080

<VirtualHost *:8080>
    LogLevel error

    <Location />
        ProxyPass http://hostname1:2014/
        ProxyPass http://hostname2:2014/
        #ProxyPassReverse http://mywebsite.jamescoyle.net/
    </Location>

</VirtualHost>

  

需要注意,2014端口后面需要添加一个 / 不然 url 的转换会出错。

关闭 hostname1 上的服务后,apache 会把 request 路由到 hostname2 上,和我需求一致。

反向代理搭建完毕后我依然对某些配置不是很理解,比如  ProxyPassReverse,ServerName 等等。

时间: 2024-10-13 10:26:27

apache 配置反向代理服务器的相关文章

Apache配置反向代理、负载均衡和集群(mod_proxy方式)

Apache配置负载均衡和集群使用mod_jk的方式比较多.但是mod_jk已经停止更新,并且配置相对复杂.Apache2.2以后,提供了一种原生的方式配置负载均衡和集群,比mod_jk简单很多. 1.Apache配置反向代理    正向代理一般是指PC连接到代理服务器,由代理服务器转发请求到网站.而反向代理指的是用户将请求发送给反向代理服务器,由反向代理服务器将请求路由转发到具体的服务器.    比如机房有两个Tomcat提供服务,但是由于防火墙的原因,用户不能直接访问.这个时候,可以使用反向

Apache 做反向代理服务器

apache做反向代理服务器 apache代理分为正向代理和反向代理: 1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器) 适用于: ①局域网的代理服务器(一般是网关,相当于squid的一般用法) ②访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理 2 反向代理: 客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理

Nginx配置反向代理服务器

首先,在阅读<深入理解Nginx模块>后,大体了解了配置反向代理服务器一些常见的配置.如下进行说明:" l  Nginx worker进程个数 语法: worker_processes number; 默认: worker_processes 1; 在master/worker运行方式下, 定义worker进程的个数. worker进程的数量会直接影响性能. 那么, 用户配置多少个worker进程才好呢? 这实际上与业务需求有关. 每个worker进程都是单线程的进程, 它们会调用各

Tomcat:利用Apache配置反向代理、负载均衡

Apache 反向代理.负载均衡 准备工作 1.  2 个tomcat实例 2.  安装Apache server2.2 基于apache server配置反向代理 在这个配置中,只使用到了apache server,没有使用到tomcat. 1)  ${apacheserver}/conf/extra/httpd-vhosts.conf在配置一个使用反向代理的虚拟主机 <VirtualHost *:80> ServerAdmin [email protected] ServerName ww

Linux Apache 配置反向代理

最近遇到一个项目,需要访问某单位的内网服务器,对方要求必须要配置一个前置机,来转发所有的web请求,然后就学了一下反向代理,查了一些资料,也完成了HelloWorld的例子. 关于反向代理的介绍,可以参考 介绍1和 介绍2 相互补充吧,关于概念的介绍挺不错的. 我现在仅仅是完成了第一步,就是配置转发请求. 操作系统是centos,关于linux安装apache就不多说了 apache安装完成后,进入 /etc/httpd/conf目录,打开 httpd.conf文件 然后 1.先检查代理模块是否

wdlinux中apache配置反向代理模块

想要在.htaccess中开启反向代理功能都不行[apache中没有mod_proxy模块] .htaccess 文件内容如下 RewriteEngine On RewriteBase / RewriteRule ^(.*)$ http://sogou.weixin.com/$1 [P] "proxy|P"(强制为代理) 此标记使替换成分被内部地强制作为代理请求发送,并立即中断重写处理,然后把处理移交给mod_proxy模块.你必须确保此替换串是一个能够被mod_proxy处理的有效U

CentOS 6.6编译安装Squid 配置反向代理服务器

squid安装: 1.下载squid源码安装包 wget http://www.squid-cache.org/Versions/v3/3.2/squid-3.2.3.tar.gz 解压缩 tar zxvf squid-3.2.3.tar.gz 进入解压后的目录 cd squid-3.2.3(目录位置依据个人设定而不同) 安装 [[email protected] squid-3.2.3]# ./configure --prefix=/usr/local/squid --enable-gnure

apache做反向代理服务器

apache代理分为正向代理和反向代理: 1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器) 适用于: ①局域网的代理服务器(一般是网关,相当于squid的一般用法) ②访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理 2 反向代理: 客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目

apache配置反向代理笔记

1.先确认/usr/lib/apache2/modules下是否有mod_proxy.so mod_proxy_balancer.so  mod_proxy_http.so三个模块,如果有的话,在/etc/apache2/mods-enabled里面用ln建立链接,执行代码如下: ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.loadln -s /etc/apache2/mods-avai