一、接入问题引入
从输入网站域名到网页加载经历的过程:
DNS域名解析TCP建连SSL握手HTTP请求
二、企业接入升级打怪之路
2.1 域名系统
- Host管理:利用hosts主机表存储企业各节点的ip映射,面临流量、负载、名称冲突、时效性等问题;
- 域名系统:利用树形结构组织的域名空间进行分层授权管理,需要在公有云厂商购买域名并备案;
- 开放外部访问:租赁一个外网ip,将域名解析到ip,并将ip绑定到物理机上,发布到公网route
2.2 自建DNS服务器
- 云厂商DNS缺陷:内网解析也要出外网获取、容易被攻击、容易出故障;
- DNS查询过程:
graph TD 客户端向本地DNS服务器查询 --> 本地DNS服务器向DNS根服务器查询 --> 根据根服务器返回的.com域服务器,本地DNS服务器向域服务器查询 --> 本地DNS服务器返回结果并缓存
- 自建权威DNS系统:常见的开源DNS:
bind、nsd、knot、coredns
2.3 接入HTTPS协议
- HTTP缺陷:明文传输,中间商可能对客户端的请求进行抓取,然后篡改响应;
- 常见加密算法:对称加密的加解密的密钥相同,非对称加密加解密的密钥不同;
- 证书链:Server端发送带签名的证书链,Client端收到进行验证;
2.4 接入全站加速
- 源站容量问题:增加机器扩容、静态加速缓存
CDN- 网络传输问题:动态加速
DCDN- 全站加速:静态加速 + 动态加速
2.5 四层负载均衡
- 定义:基于IP + 端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上;
- 功能:解耦vip、rs,实现NAT,防攻击;
2.6 七层负载均衡
- Nginx:最灵活的高性能WEB SERVER,7层反向代理;
- 代理服务器功能:Keepalive、访问日志、url rewrite重写、路径别名、基于ip的用户访问控制、限速及并发连接数控制。