这是我参与「第三届青训营 - 后端场」笔记创作活动的第3篇笔记
一、域名系统
-
Background:
采用hosts文件:主机名->IP 映射
缺点:统一分发容易引起较大流量和负载、名称冲突、时效性差等
-
Solution:
使用域名系统代替hosts文件
购买域名 -> 域名备案 -> 修改配置(配置公共DNS)
租赁一个外网IP暴露给外界,将域名解析到此IP;将此IP绑定到物理服务器上,并发布路由
二、自建DNS
-
Background:
- 内网域名解析无需进公网获取
- 内网IP暴露在外,容易被攻击
- 避免云厂商DNS服务器故障
-
Solution:
自建权威DNS服务器;DNS解析时,用户Local DNS请求自建权威DNS服务器。
三、接入HTTPS
-
Background:
安全、页面广告、信息泄露等
-
Solution:
对称加密 or 非对称加密(√)
使用HTTPS,即加强的HTTP协议,并使用SSL/TLS建立信道进行加密。
原理:
- 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器
- 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数
- 客户端对服务器的证书进行验证,并抽取服务器的公用密钥;然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密,并将加密后的信息发送给服务器
- 客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC密钥
- 客户端将所有握手消息的 MAC 值发送给服务器
- 服务器将所有握手消息的 MAC 值发送给客户端
四、接入全站加速
-
Background:
- 源站可承载的并发请求有限
- 报文经过链路过长,可能会出问题并且时延较高
-
Solution:
全站加速(静态加速CDN + 动态加速DCDN)
五、4层负载均衡
-
Purpose:
尽可能充分地利用和管理有限的公网IP资源
-
Solution:
基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上
六、7层负载均衡
-
Purpose:
在四层负载均衡的基础上,如何满足应用层的相关配置需求
-
Solution:
7层反向代理,Nginx(一个高性能的HTTP和反向代理Web服务器)
Ref:
字节跳动青训营 - 如何将我的服务开放给用户
百度百科 - HTTPS