我们知道了外部站点的IP映射进内部站点的四层负载均衡,我们也可以进入七层负载均衡:一个端口怎样面对外界这么多的访问?
问题背景
提问:四层负载对100.1.2.3只能bind一个80端口,而有多个外部站点需要使用,该如何解决?
换个问法:有一些7层相关的配置需求,该怎么做?
步骤如下:
- SSL卸载:业务侧是 http 服务,用户需要用 https 访问请求
- 重定向: 浏览器访问 toutiao.com 自动跳转 www.toutiao.com
- 路由添加匹配策略: 完全、前缀、正则
- Header编辑
- 跨域支持
- 协议支持: websocket、quic、grpc
问题的解决
Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。
简介
- 模块化设计,具有较好的扩展性和可靠性
- 基于 master/worker 架构设计
- 支持热部署:可在线升级
- 不停机更新配置文件、更换日志文件、更新服务器二进制
- 较低的内存消耗
- 事件驱动:异步非阻塞模型,支持 aio,mmap(内存映射)
即:占有内存少,并发能力强,并发能力在同类型的网页服务器中表现较好;注重效率,能经受高负载的考验;不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。
优点
具体实现可以点击此处参考。