前几天实验了下 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 等等。

后记:上面并没有实现负载均衡。

<VirtualHost *:2014>
LogLevel info <Proxy balancer://mycluster>
BalancerMember http://host1:2015
BalancerMember http://host2:2015
</Proxy> ProxyPass / balancer://mycluster/ </VirtualHost>

  

我以为配上两个 ProxyPass 就实现了负载均衡,实际并非如此, ProxyPass 配置多条的话,后面的会覆盖前面的,但是好处是当一个 node down 掉后,apache 会自动路由到可用的。上面的配置才是真正的负载均衡,策略是默认的 byRequests. 需要注意的是, BalanceMember 后面没有 /,ProxyPass 后面有 /

配置完测试了几次,发现两个 node 都有请求的到来。

关于配置:

apache 提供了很多详细的配置,用于自定义反向代理/负载均衡的行为。比如,lbmethod 可以选取 byRequests, byTraffic 等等,还可以设置 lbfactor, timeout, retry

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

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

    本篇主要介绍apache配置反向代理,介绍了两种情况:第一种是,只使用apache配置反向代理:第二种是,apache与应用服务器(tomcat)结合,配置反向代理,同时了配置了负载均衡. 准备工作 ...

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

    Apache配置负载均衡和集群使用mod_jk的方式比较多,但是mod_jk已经停止更新,并且配置相对复杂.Apache2.2以后,提供了一种原生的方式配置负载均衡和集群,比mod_jk简单很多. 1 ...

  3. Nginx配置反向代理服务器

    首先,在阅读<深入理解Nginx模块>后,大体了解了配置反向代理服务器一些常见的配置.如下进行说明:” l  Nginx worker进程个数 语法: worker_processes n ...

  4. Apache 做反向代理服务器

    apache做反向代理服务器 apache代理分为正向代理和反向代理: 1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web ...

  5. wdlinux中apache配置反向代理模块

    想要在.htaccess中开启反向代理功能都不行[apache中没有mod_proxy模块] .htaccess 文件内容如下 RewriteEngine On RewriteBase / Rewri ...

  6. apache做反向代理服务器

    apache代理分为正向代理和反向代理: 1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代 ...

  7. apache 配置反向代理 设置

    1.下载 安装 下载地址:http://httpd.apache.org/download.cgi 将apache 安装到某个目录中 修改conf/http.conf文件 修改配置文件端口  (端口为 ...

  8. apache配置反向代理

    http.conf 去掉前面的#号 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/ ...

  9. apache反向代理服务器

    1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器) 适用于: ①局域网的代理服务器 ...

随机推荐

  1. kali linux 系列教程之metasploit 连接postgresql可能遇见的问题

    kali linux 系列教程之metasploit 连接postgresql可能遇见的问题 文/玄魂   目录 kali linux 下metasploit 连接postgresql可能遇见的问题. ...

  2. UML建模语言入门 -- 用例视图详解 用例视图建模实战

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...

  3. python os&shutil 文件操作

    python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...

  4. mvc项目问题清单以及解决方法

    项目开发中遇到的一些问题以及解决方法. 1. 脚本相关 mvc中RemoteAttribute使用,在IE浏览器下面会将结果缓存起来(304).因为IE浏览器判断Url的链接参数都没有变化,所以直接返 ...

  5. 空间插值文献阅读(Geostatistical approaches for incorporating elevation into the spatial interpolation of rainfall)

    空间插值技术应用必读论文---P. Goovaerts, Geostatistical approaches for incorporating elevation into the spatial ...

  6. celery与mangodb搭配应用

    写作背景介绍 在celery简单应用中已经介绍了如何去配置一个celery应用,也知道怎么分离任务逻辑代码与客户端代码了.我们现在的任务是怎么把计算结果保存到数据库中,这种数据持久化是非常重要的.你一 ...

  7. Leetcode 292 Nim Game 博弈论

    class Solution {public:    bool canWinNim(int n) {        return n % 4 != 0;    }};

  8. 解决.Net 4.0 A potentially dangerous Request.Form value was detected from the client 异常

    在web.config中加入 <httpRuntime maxRequestLength="22000" executionTimeout="43200" ...

  9. 解决adb shell input text 中文输入,unicode转utf-8

    https://github.com/senzhk/ADBKeyBoard 上面这个是外国人写的一个输入法,我们把它安装再设置下就ok了 直接下载bin下的ADBKeyBoard.apk文件,或者上面 ...

  10. [转] Redis系统性介绍

    Redis系统性介绍 http://blog.nosqlfan.com/html/3139.html?ref=rediszt 虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了 ...