通过私钥, 证书对站点 www.test.com 的所有数据加密, 实现通过 https 访问 www.test.com
环境说明:
源码安装 Nginx 时必须使用 --with-http_ssl_module 参数, 启用加密模块, 对于需要进行 SSL 加密处理的站点添加 ssl 相关指令 (设置网站需要的私钥和证书). 加密算法一般分为对称算法, 非对称算法, 信息摘要.
对称算法有: AES,DES, 主要应用在单机数据加密.
非对称算法有: RSA,DSA, 主要应用在网络数据加密.
信息摘要: MD5,sha256, 主要应用在数据完整性校验.
思路: 配置 ssl 虚拟主机 -> 客户端验证
1. 配置 SSL 虚拟主机
1.1 生成私钥与证书
- # cd /usr/local/nginx/conf
- # openssl genrsa> cert.key // 生成私钥
- # openssl req -new -x509 -key cert.key> cert.pem // 生成证书
1.2 修改 Nginx 配置文件, 设置加密网站的虚拟主机
- # VIM /usr/local/nginx/conf/nginx.conf
- ......
- server {
- // 默认情况下, https 的 server 容器是被 #注释掉的, 需要去除 #解除注释, 以启用 https
- listen 443 ssl;
- server_name www.test.com; // 定义域名
- ssl_certificate cert.pem; // 这里是证书文件
- ssl_certificate_key cert.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;
- }
- }
1.3 重启 nginx 服务, 加载配置
# /usr/local/nginx/sbin/nginx -s reload
2. 客户端验证
2.1 一般需要配置域名解析服务器, 但这里为简化问题, 修改客户端主机的本机 / etc/hosts 文件, 进行域名解析
- # VIM /etc/hosts
- 192.168.4.5 www.test.com // 设置要解析的域名及 IP 地址
2.2 登录客户端测试
[[email protected] ~]# Firefox https://www.test.com // 信任证书后可以访问, 注意要在 http 后面加 s
来源: http://www.bubuko.com/infodetail-3102895.html