《将我的服务开放给用户》课程笔记 | 青训营

76 阅读2分钟

一、接入问题引入

从输入网站域名到网页加载经历的过程:

  • 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:bindnsdknotcoredns

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的用户访问控制、限速及并发连接数控制。