将我的服务开放给用户

124 阅读3分钟

day06 将我的服务开放给用户

1 网络接入问题的引入

浏览器从输入域名到网页加载,经历了那些过程?

JavaScript学习笔记:从地址栏输入网址到页面呈现的完整步骤 - 掘金 (juejin.cn)

1)URL解析「识别URL」

2) 检查缓存

3) DNS解析

4) 基于TCP的三次握手,构建客户端和服务器端的连接通道。

5) 基于HTTP/HTTPS等传输协议,实现客户端和服务器之间的信息通信

6) 服务器处理请求

7) TCP四次挥手「把建立好的网络通道释放掉」

8) 客户端渲染「呈现出页面和效果」

2 企业接入

2.1 域名系统

使用域名系统替换host文件

如何建设外部网站:租赁外网IP--将网址解析到外网IP--将IP绑定到一台物理机上,并发布公网route,用于外部访问。

2.2 自建DNS服务器

内网域名解析要去公网获取,效率低;外部用户看到内网地址,容易被攻击;权威DNS容易出故障

——搭建自己公司的DNS

常见的开源DNS:bind、nsd、knot、coredns

2.3 接入http协议

常见的加密算法:

1)对称加密:一份秘钥

2)非对称加密:公钥+私钥

2.3.3 SSL的通信过程

SSL不同于SSH,它是安全套接层(Secure Sockets Layer),是一种安全协议,是Netscape公司在推出Web浏览器首版时一起提出的。当浏览器访问以https://开头的URL时,浏览器通过SSL连接使用HTTP。SSL协议会在数据传输之前对数据进行加密再进行网络传输,保证了用户数据在传输链路上的安全。“

作者:月光也会跟着我 链接:juejin.cn/post/699842… 来源:稀土掘金

img

2.3.4 证书链

image-20230805123547674

来源:网络安全科普:奇妙的 SSL/TLS 证书(基础篇) - 知乎 (zhihu.com)

2.4 接入全站加速

源站容量问题:扩容;静态加速缓存

网络传输问题:动态加速DCDN

全站加速 静态加速+动态加速

2.5 4层负载均衡

怎样尽可能充分利用和管理有限的公网IP资源?

什么是4层负载均衡:基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上

三个主要功能:1)解耦vip和rs;2)NAT;3)防攻击:syn proxy

常见调度算法原理:

1)RR轮询:平均分配

2)加权RR轮询

3)最小连接

4)五元组hash:根据5个属性对静态分配的服务器做散列取

缺点:某个服务器故障,所有连接重新计算,影响整个hash环

一致性hash:只影响故障服务器的连接session

常见实现方式 FULLNAT

2.6 7层负载均衡

Nginx:Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 BSD-like 协议下发行。

3 动手实践

【网络与部署 学习资料(上)】字节跳动青训营 - 后端专场 - 掘金 (juejin.cn)