HTTPS服务

HTTPS服务

一、HTTPS的工作流程
1.服务端将公钥给第三方机构,第三方机构用私钥将服务端的公钥进行加密(数字证书)。
2.客户端请求服务端,服务端返回给客户端数字证书,浏览器内置一个受信任的CA机构列表,进行验证是否正确。
3.客户端将已有的第三方机构的公钥进行证书的解密,将解密后的服务端公钥获取到进行数据加密,传给服务端,服务端用私钥解密。

二、HTTPS定义
HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。

三、实现 HTTPS服务_证书签名生成CA证书

生成秘钥和CA证书条件:
1.openssl version #检查是否存在
2.nginx -v #查看是否存在 --with-http_ssl_module 模块

生成秘钥和CA证书步骤:
1.生成key秘钥
2.生成证书签名请求文件(csr文件)
3.将1和2打包一并发送给签名机构,会获取到CA证书(可以自己生成)

演示:
1.#openssl genrsa -idea -out demo.key 1024(生成key秘钥)
2.#openssl req -new -key demo.key -out demo.csr(生成证书签名请求文件)
3.#openssl x509 -req -days 3650 -in demo.csr -signkey demo.key -out demo.key -out demo.crt

nginx的https配置语法
参数:ssl on|off;
默认:没有配置;
位置:http,server

参数:ssl_certificate file;
默认:没有配置;
位置:http,server

参数:ssl_certificate_key file;
默认:没有配置;
位置:http,server

配置实例
server{
listen       443;
server_name  jeson.t.imooc.io;
ssl on;
ssl_certificate /etc/nginx/ssl_key/demo.crt;
ssl_certificate_key /etc/nginx/ssl_key/demo.key;
#ssl_certificate_key /etc/nginx/ssl_key/jesonc_nopass.key;

index index.html index.htm;
location / {
root  /opt/app/code;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值