您的位置:首页 > 理论基础 > 计算机网络

https协议证书部署实战

2017-09-01 12:56 288 查看
一:
HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
二:
HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。
三:
部署https协议
环境要求 yum安装opensslopenssl-devel
创建秘钥证书存放目录
mkdir/usr/local/nginx/ssl执行命令 openssl genrsa -des3 -out server.key 1024 #生成秘钥

执行命令 openssl req -new -key server.key -out server.csr #创建签名请求的证书(CSR)

执行命令 openssl rsa -in server.key -out server_nopassword.key #进行解密

执行命令 openssl x509 -req -days 365 -in server.csr-signkey server_nopassword.key -out server.crt # 进行标记证书使用上述私钥和CSR

修改nginx配置文件,加载ssl证书
vim /usr/local/nginx/conf/nginx.conf #进去nginx配置文件(在http标题里面加入可以选择最后一行)server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /usr/local/nginx/ssl/server.crt;
ssl_certificate_key [b] /usr/local/nginx/ssl/server_nopassword.key;[/b]
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  https/ssl协议