HTTPS

HTTP Secure


杨文强 (Windard)
https://windard.com

# 什么是 HTTPS

HTTP

明文传输,易被窃听,劫持,篡改,伪造

不安全 !!!
http_wireshark

HTTPS

  • 身份验证
  • 数据加密

消息摘要算法 对称加密 非对称加密
HTTPS 能够达到信息安全的三个标准 CIA (confidentiality, integrity, and availability) (机密性、完整性 和 可用性)
## 加密方式
#### 消息摘要算法 MD5 ,SHA-1
#### 对称加密算法 DES,AES
##### 非对称加密算法 RSA,ECC
非对称加密算法(公钥和私钥)交换对称密钥
+ 数字证书验证身份(验证公钥是否是伪造的)
+ 利用对称密钥加解密后续传输的数据
= 安全
![https](/images/https.jpg)

HTTPS 工作流程

  1. 客户端发出请求
  2. 服务器端接受请求,返回自己的证书
  3. 客户端接收到证书,解析验证证书的有效性
  4. 客户端用非对称加密算法加密密钥发送服务器
  5. 服务器端接收到密文,解密得到客户端随机生成的密钥
  6. 客户端与服务器端用对称加密算法进行通信
#### 免费申请 HTTPS 证书 - [https://buy.wosign.com/free/?lan=cn](https://buy.wosign.com/free/?lan=cn) - [https://www.startssl.com/](https://www.startssl.com/)

自制 HTTPS 证书并使用

- Cent OS 7 - Nginx 1.6.3 - OpenSSL 1.0.1
生成证书

cd /etc/nginx
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
去掉证书口令

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
安装证书

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
配置 Nginx /etc/nginx/nginx.conf

server {
server_name YOUR_DOMAINNAME_HERE;
listen 443;
ssl on;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
}
重启 Nginx

sudo service nginx restart
将 HTTP 的请求跳转到 HTTPS

server {
listen 80;
server_name ww.yousite.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
## Jekyll + HTTPS
1. 注册 [CloudFare](https://www.cloudflare.com/) 账户 2. 在域名注册商将 DNS 服务商改为 CloudFare 提供的 3. 在 Cloudflare 的 控制面板里,找到 Crypto 下的 SSL ,选择 Flexible SSL 即可。
更改 _config.yml

url: https://windard.com
enforce_ssl: windard.com
将静态文件,如 CSS , JS 和图片以相对位置加载
将 HTTP 跳转 HTTPS 在 CloudFare 的 Page Rules 页面规则, 设定 Always Use HTTPS,让所有的 http://windard.com/* 的连接自动跳转到 https://windard.com/*
参考链接 - [https://windard.com/project/2016/09/23/Add-HTTPS-To-Jekyll](https://windard.com/project/2016/09/23/Add-HTTPS-To-Jekyll) - [https://windard.com/project/2016/09/22/Use-HTTPS-In-Nginx](https://windard.com/project/2016/09/22/Use-HTTPS-In-Nginx) - [https://zhuanlan.zhihu.com/p/22142170](https://zhuanlan.zhihu.com/p/22142170) - [http://www.guokr.com/post/114121/](http://www.guokr.com/post/114121/) - [https://en.wikipedia.org/wiki/HTTPS](https://en.wikipedia.org/wiki/HTTPS)
页阅读量:  ・  站访问量:  ・  站访客数: