1.为什么使用ssl证书
- 数据加密传输,防止窃听
- 可以进行数据完整性检查,防篡改
- 可以进行身份验证,防冒充
提示:登陆时用HTTPS可以防止别人截获用户名和密码
1.1 lnmp安装
未安装lnmp环境的,可以点击安装地址,进行安装
1.2SSL通信过程
- 客户端向服务器发请求,请求证书
- 服务器把证书发给客户端
- 客户端对比证书,成功进入不一步,否则告警
- 服务器收到对称密钥后保存,给客户端一个应答
- 客户端接收响应,这样就完成了SSL连接,后面的通信用对称密钥加密数据传输
1.3自签SSL证书
#生成一个RSA私钥,1024是加密强度,一般是1024或2048
openssl genrsa -out private.key 1024
#生成一个证书请求
openssl req -new -key private.key -out cert_req.csr
#自己签发证书,如果要权威CA签发的话,要把cert_req.csr发给CA
openssl x509 -req -days 365 -in cert_req.csr -signkey private.key -out server_cert.crt
1.4编辑配置文件nginx.conf
server{
listen 80;
server_name lnmp;
rewrite "^/(.*)$" https://lnmp/$1 break; #访问时做自动跳转
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /application/nginx/key/server.crt;
ssl_certificate_key /application/nginx/key/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
}
#重启服务
使用https://lnmp #访问网站,当前主机域名解析为lnmp
1.5curl测试
curl http://lnmp/ 会自动跳转到https://lnmp中
1.6 浏览器测试