怎么用pfSense为你的web服务做负载均衡(翻译)

这篇howto中展示了怎么使用pfSense 2.0 为你的多个web服务器配置负载均衡(load balancer)。这里假定在你的网络环境中已经拥有了一个pfSense服务器和2个以上的apache服务器,并且具有一定的pfSense知识。(参考 图解pfSense软路由系统的使用(NAT功能)

1. 前提

  • 一个安装好的pfSense 2.0 机器(如果它是你的外围防火墙,建议安装在物理机上)
  • 至少2个apache服务器(可以是虚拟机)
  • 确保在apache服务器之间代码文件是同步的(rsync、cororsync或其它可以保持web服务器间文件更新)

2. 配置pfSense

pfSense可以使用负载均衡的功能让特定的请求压力由多台服务器分担,这对于有多台应用的服务器很有帮助,因为你可以把负载压力分散到其它节点上而不是死磕一个节点。

2.1 Monitor

我们正式开始。首先点击Services -> Load Balancers,然后选择Monitor标签。

点击右边的+加号来添加一条记录,输入monitor的名字Name和描述Description(在这个示例名字和描述我都使用ApacheClusterMon),把类型Type设置成HTTP,主机地址Host设置一个还未使用的IP(后面我们将在这个IP上建立虚拟IP,这个虚拟IP会被分配到故障转移failover节点上,注:也有文章说把它设成WAN IP),HTTP Code保存默认的200 OK,然后点击Save保存并且使修改生效Apply Changes

2.2 Pool

接着建立服务器池server pool。点击Pools标签的+按钮来添加一个池。

在该示例我指定ApacheSrvPool为服务池名称,设置ModeLoad Balance,端口80(。这个端口时你后端服务器的监听端口,你当然可以设定其它应用的其它端口,不一定非是web)。为这个池设定上一步创建的ApacheClusterMon,依次将你的所有web服务器IP添加到这个池中Add to pool,保存并应用。

2.3 Virtual Server

最后一步,选择Virtual Servers标签页,点击+来添加一条记录。填写名称ApacheClusterVirtualServer、描述和IP地址,这个IP地址与第1步中说的未使用的IP相同,端口80,所有发送到这个WAN IP:port的连接都会被转发到服务器池中。虚拟服务器池Virtual Server Poll选择上一步创建的。提交并应用。

搞定!最后不要忘记为虚拟服务器IP和池添加防火墙规则。

时间: 2024-10-28 10:53:25

怎么用pfSense为你的web服务做负载均衡(翻译)的相关文章

多台Web服务器做负载均衡解决方案

环境说明: 开发平台是DO.NET B/S .NET Framework 1.1 正式WEB服务器和测试机,均为win2003 原有一个主网站,在六台WEB服务器做负载均衡.运行比较稳定. 现新开发一个子站,将布署在另三台WEB服务器上做负载均衡.这个负载均衡设置类似主网站的设置. 解决步骤: 1)子站在测试机测试通过,运行正常.准备布署到正式环境下(三台WEB服务器) 2)将子站程序拷贝到那三台WEB服务器上,配置好子站相关配置,开放站点与负载均衡开始测试. 3)测试时,页面显示正常,但在触发

web集群服务的负载均衡方案选择与实现

web 集群系统,是由一群同时运行同一个web应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样.为了均衡集群服务器的负载,达到优化系统性能的目的,集群服务器将众多的访问请求,分散到系统中的不同节点进行处理.从而实现了更高的有效性和稳定性,而这也正是基于Web的企业应用所必须具备的特性. 高可靠性可以看作为系统的一种冗余设定.对于一个特定的请求,如果所申请的服务器不能进行处理的话,那么其他的服务器能不能对之进行有效的处理呢?对于一个高效的系统,如果一个Web服务器失败的话,其他的服务器

容器服务自定义负载均衡支持多个证书

本示例使用的镜像是acs/proxy镜像 lb: image: registry.aliyuncs.com/acs/proxy:0.5 ports: - '80:80' - '443:443' # https 必须暴露这个端口 restart: always labels: # addon 使得proxy镜像有订阅注册中心的能力,动态加载服务的路由 aliyun.custom_addon: "proxy" # 每台vm 部署一个该镜像的容器 aliyun.global: "t

如何在web范围内实现微服务负载均衡

网上有很多介绍微服务架构最佳实践的指导手册和博客文章.虽然这些信息都很有用,但是关于如何扩展微服务的文章却不多.在一些研究和大量理论探讨下,本文介绍如何实现微服务的负载均衡. 关注边缘 当web应用程序前端客户端和基于微服务的后台服务器通信时,前端是否需要知道所有可用的微服务实例?比如,客户端真的需要知道提供web页面数据的所有的五个服务么?答案当然是不需要! Sudhir Tonse,之前在Netflix工作,现在在Uber工作,在Scalable Mocroservices at Netfl

理解web服务器和数据库的负载均衡以及反向代理_服务器其它

但是若该网站平均每秒的请求是200多次,那么问题就来了:这已经是最好的web服务器了,我该怎么办?同样的情景也适用于数据库.要解决这种问题,就需要了解"负载均衡"的原理了. web服务器如何做负载均衡 为web服务器做负载均衡适用的的较多的方式是DNS重定向和反向代理,其他的方式原理也是很类似. 我们多次ping一下百度,会发现回复的IP会有所不同,例如第一次的结果为: 复制代码 代码如下: 正在 Ping baidu.com [220.181.111.86] 具有 32 字节的数据:

C#创建Web服务(入门图解)

web|web服务|创建       微软在其.Net战略中,对其主推的Web服务做了大肆的宣扬.现在,Web服务正如火如荼地发展着,相关的各项新技术层出不穷.Web服务的发展正构筑着互联网时代美好的明天.在本文中,我将向大家介绍Web服务的一些基本知识以及如何用Visual C#一步一步地创建一个简单的Web服务. 一.Web服务概述: Web服务是一种新的Web应用程序分支,它们是自包含.自描述.模块化的应用,可以发布.定位.通过Web调用.Web服务可以执行从简单的请求到复杂商务处理的任何

交互界面,Web服务定义的核心

web|web服务|交互   架构Web Service: 交互界面,Web服务定义的核心        内容: API概述 Catalog Service Member Service Feedback Service Order Service 描述与注册: 发布Web服务 参考资料 作者简介 相关内容: 实战Web服务 基于Web服务的应用.解决方案和开发平台 什么是Web服务? 为什么需要Web服务? 柴晓路 (fennivel@uddi-china.org)Chief System A

一步一步用Visual C#创建Web服务

visual|web|web服务|创建 引言: 微软在其.Net战略中,对其主推的Web服务做了大肆的宣扬.现在,Web服务正如火如荼地发展着,相关的各项新技术层出不穷.Web服务的发展正构筑着互联网时代美好的明天.在本文中,我将向大家介绍Web服务的一些基本知识以及如何用Visual C#一步一步地创建一个简单的Web服务. 一.Web服务概述: Web服务是一种新的Web应用程序分支,它们是自包含.自描述.模块化的应用,可以发布.定位.通过Web调用.Web服务可以执行从简单的请求到复杂商务

asp.net 创建一个Web服务

Web服务提供了一个共同的接口,沟通和交换数据,不同的系统.这句话听起来很普通,没有真正帮助您了解什么是网络服务.相反,我认为下面的图表提供了一个更好地了解什么网络服务是: 所以,你有Web应用,你真的想使用当前的应用与它交流.不幸的是,您的应用程序没有任何想法如何沟通的Web应用程序,但大家都希望不会失去!您的应用程序执行调解-网络服务-转换的要求您的应用使成一种公认的W e b应用程序. 换言之,网络服务使您的应用程序进行交流的任何藏身回来.不管用什么语言的应用程序编码中,什么类型的服务器的