京峰JF2117-DAY41课程笔记 Tomcat企业案例实战Nginx HTTPS企业实战1_第1页
京峰JF2117-DAY41课程笔记 Tomcat企业案例实战Nginx HTTPS企业实战1_第2页
京峰JF2117-DAY41课程笔记 Tomcat企业案例实战Nginx HTTPS企业实战1_第3页
京峰JF2117-DAY41课程笔记 Tomcat企业案例实战Nginx HTTPS企业实战1_第4页
京峰JF2117-DAY41课程笔记 Tomcat企业案例实战Nginx HTTPS企业实战1_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1 Nginx HTTPS企业实战超文本传输安全协议(Hyper Text Transfer Protocol over Secure Socket Layer,HTTPS),是以安全为目标的HTTP通道,简单来说就是HTTP的安全版。HTTPS由两个部分组成:HTTP + SSL / TLS,在HTTP基础上又加了一层处理加密信息的模块,服务端和客户端的信息传输都会通过TLS进行加密,传输的数据都是加密后的数据。为了解决HTTP协议的这一缺陷,需要使用另一种协议:HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。SSL证书是一种数字证书,它使用Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听。而且用户可以通过服务器证书验证他所访问的网站是否真实可靠。加密的HTTP传输通道,浏览器访问格式为:https:/url,其基于HTTP+TLS,现被广泛应用于互联网上安全敏感的通信,例如安全登录、订单交易、支付结算等方面。HTTPS和HTTP的区别,超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。HTTPS加密、解密、验证完整过程,如图14-11所示:图14-11 HTTPS传输原理如下为HTTPS传输八个步骤内容详解:(1) 客户端发起HTTPS请求,用户在浏览器里输入https网址,然后连接到Nginx Server的443端口。(2) 服务器端采用HTTPS协议有一套数字证书,该证书可以自行配置,也可以向证书管理组织去申请,该证书其本质是公钥和私钥。(3) 将公钥传送证书传递给客户端,证书包含了很多信息,例如如证书的颁发机构,过期时间、网址、公钥等等。(4) 客户端解析证书,由客户端的TLS来完成,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出警告框,提示证书存在问题。如果证书没有问题,就会生成一个随机值。然后用证书对该随机值进行加密。(5) 将证书加密后的随机值传送至服务器,让服务端获取该随机值,后续客户端和服务端的通信可以通过该随机值来进行加密解密。(6) 服务端用私钥解密后,得到了客户端传过来的随机值,然后把内容通过该值进行对称加密。(7) 服务器端将用私钥加密后的信息发给客户端。(8) 客户端用之前生成的私钥来解密服务端发送过来的信息,获取解密后的内容。HTTPS证书申请与颁发方法如下:(1) 生成https证书,可以使用openssl生成服务端RSA密钥及证书,生成的命令如下,如图14-12所示:openssl genrsa -des3 -out server.key 1024图14-12 Openssl生成RSA秘钥及证书 (2) 创建签名请求的证书(CSR),如图14-13所示:openssl req -new -key server.key -out server.csr图14-13 Openssl创建签名请求证书 (3) 加载SSL支持的Nginx并使用私钥时去除口令,如图14-14所示:cp server.key server.key.bakopenssl rsa -in server.key.bak -out server.key图14-14 Openssl去除口令 (4) 自动签发证书,如图14-15所示:openssl x509 -req -days 10240 -in server.csr -signkey server.key -out server.crt图14-15 Openssl自动签发证书HTTPS证书生成完毕,配置Nginx+证书整合,步骤如下:(1) 安装Nginx并加入SSL模块支持,并将证书拷贝至nginx conf目录。./configure -prefix=/usr/local/nginx -with-http_ssl_module &make &make installcp server.crt server.key /usr/local/nginx/conf/(2) 如下Nginx.conf配置文件内容为如下:# HTTPS serverserver listen 443 ssl; server_name localhost; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / root html; index index.html index.htm; (3) 最后重启Ng

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论