IIS通过ARR实现负载均衡

一、实现整体方式介绍

项目中部署在windows服务器上的项目,需要部署负载均衡,本来想用nginx来配置的,奈何iis上有几个项目,把80端口和443端口占用了,nginx就用不了了(因为通过域名访问的,必须要用80和443端口),只能通过IIS的方式实现了。

这里用2个服务在一台机器上负载来做演示,2个服务+一个代理我们需要建3个网站

127.0.0.1:8050 (代理网站,客户端访问的地址,用来绑定访问的域名和端口的)

127.0.0.1:8051(负载的服务1,代理网站会转发到这里来)

127.0.0.1:8052(负载的服务2,代理网站会转发到这里来)

二、配置负载均衡服务

1、首先需要安装ARR和URL重写2个IIS的功能

这里安装包上传到了网盘。https://pan.baidu.com/s/10BZkDEuSXu_9UWmga9NFbA?pwd=loie

安装完后,我们的服务器就多了这两个功能了,如果负载均衡是多台服务器的,只需要代理那台安装就可以了。

2、把前面3个网站先准备好

先创建网站proxy,指向一个空文件夹,绑定端口8050

为了防止出一些问题,代理的应用程序池设置回收时间为0即不回收

再创建一个web1绑定8051,一个web2绑定8052,指向的文件夹为网站的文件夹,这里只在文件夹里放一个index.html,里面就一段文字区分。

3、上面3个可以访问的站点都创建好了,下面创建负载的服务器场

下一步如果弹出是否自动创建url 重写规则,选否,后面我们再手动创建,不然全部端口的请求都会转发到这里的负载上来,我们实际是只需要转发8050端口的请求到负载上就行了。

在创建的Server中取消缓存,不然访问同请求地址会直接缓存返回,不经过站点

还可以配置站点健康检查

其它一些功能

三、把请求转发到负载均衡器

创建URL重写规则,把代理站端口的请求转发到上面配置的负载均衡器

条件处,如果用的是域名的且http和https都使用的可以用任意匹配,然后,添加

输入:{HTTP_HOST}:{SERVER_PORT} 模式:^test.fadmescloud.com:80$

输入:{HTTP_HOST}:{SERVER_PORT} 模式:^test.fadmescloud.com:443$

到这里就可以了,访问8050端口,会转发到负载的站点8051和8052

相关推荐
小晶晶京京1 天前
day35-负载均衡
运维·网络·网络协议·学习·负载均衡
CodeDevMaster2 天前
Gemini Balance:轻松实现Gemini API负载均衡与无缝切换的终极指南
负载均衡·api·gemini
扶风呀5 天前
具有熔断能力和活性探测的服务负载均衡解决方案
运维·负载均衡
Hello World呀5 天前
springcloud负载均衡测试类
spring·spring cloud·负载均衡
菜菜子爱学习6 天前
Nginx学习笔记(七)——Nginx负载均衡
笔记·学习·nginx·负载均衡·运维开发
扶风呀6 天前
负载均衡详解
运维·后端·微服务·面试·负载均衡
PXM的算法星球7 天前
spring gateway配合nacos实现负载均衡
spring·gateway·负载均衡
抛物线.9 天前
Docker Compose 部署高可用 MongoDB 副本集集群(含 Keepalived + HAProxy 负载均衡)
mongodb·docker·负载均衡
ZNineSun10 天前
什么是负载均衡,有哪些常见算法?
负载均衡·osi·七层网络模型
竹竿袅袅10 天前
Nginx 反向代理与负载均衡架构
nginx·架构·负载均衡