前言
学习了青训营关于企业接入互联网相关的课程,我们个人如果要把服务开放到互联网的话,也可以参照这个模式来提高我们网站服务的质量
把服务接入互联网
在互联网上买块地
拥有IP
我们要想把服务开放在互联网上,就需要在互联网有一块立足之地,通常我们可以通过购买某些厂商的云服务器来得到一个公网IP,这个公网IP就能作为一个出口,把我们的服务开放出去。
使用域名
这里就有一个问题,IP是以数字的形式呈现的,难以记忆,我们不可能要求用户访问我们的网站的时候用IP来访问,所以我们就需要一个好记的域名来映射到IP地址,这样用户就只需要记住我们的域名就可以轻松的访问我们的网站了。
这里需要简单介绍下域名系统的作用:域名系统(Domain Name System,DNS)是互联网的一项核心服务,它作为将域名和IP地址相互映射的一个分布式数据库,使人们可以方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.
使用更安全的链接
接入HTTPS
在平时开发的时候,我们默认都使用的是HTTP协议,但是HTTP协议有一个最明显的特点就是不安全,所以我们需要使用更安全的HTTPS服务来保护我们的信息安全。HTTPS从名字上来看就比HTTP多了一个S而已,那么这多一个S又是怎么保证安全的呢。
HTTPS,全称是超文本传输安全协议(Hypertext Transfer Protocol Secure),是HTTP的安全版本。HTTPS在HTTP和TCP之间添加了一个安全层SSL/TLS,为数据传输提供了加密,身份验证以及完整性检验。下面是HTTPS如何工作以及如何保证安全性的基本步骤:
建立连接:当客户端尝试通过HTTPS访问服务器时,会先与服务器建立一个SSL/TLS连接,这个过程通常被称为”SSL握手”。
服务器身份验证:在SSL握手过程中,服务器会向客户端提供一个公开的证书,这个证书包含了服务器的公钥以及一些服务器的身份信息,例如服务器的域名、证书的有效期等。这个证书由一个受信任的第三方机构(称为证书颁发机构,CA)签名。客户端会验证这个证书的有效性,包括证书是否已过期,是否被吊销,证书中的域名是否与实际访问的域名相匹配,以及证书是否由一个受信任的CA签名。如果证书验证失败,用户将会收到一个警告。
密钥交换:证书验证通过之后,客户端会使用服务器的公钥加密一个随机生成的对称密钥,并发送给服务器。服务器使用自己的私钥解密这个密钥。至此,客户端和服务器都有了同样的一份密钥,而且这个密钥不会在网络中明文传输,所以无法被窃取。
数据加密:客户端和服务器都有了同样的对称密钥之后,就可以开始安全地传输数据了。数据会使用这个对称密钥进行加密,只有持有这个密钥的一方才能解密。由于对称加密的效率非常高,因此即使是大量的数据传输,也不会对性能产生太大的影响。
数据完整性:在传输过程中,SSL/TLS协议还提供了一种消息摘要算法,用来检查数据在传输过程中是否被篡改。
所以,HTTPS主要通过三个方式保证数据的安全:加密(保护数据隐私),身份验证(确保你连接的是正确的服务器,而不是中间人),以及数据完整性检验(保护数据在传输过程中没有被篡改)
总结
一般来说,做到这里我们就算是完成了服务接入的初级流程了,对于一些访问量不大的网站(比如自己的网站)来说这已经足够了。为了应对更高级别的访问量,我们还有其他的手段来优化服务。那么,我们下期见!