生成ssl证书:
1、首先要生成服务器端的私钥,运行时会提示输入密码,此密码用于加密key文件;
openssl genrsa -des3 -out server.key 1024
2、去除key文件口令的命令;
openssl rsa -in server.key -out server.key
3、生成根证书签发申请文件(csr文件)
使用上一步生成的私钥(pem文件),生成证书请求文件(csr文件)
openssl req -new -key server.key -out server.csr
4、生成nginx端私钥
openssl rsa -in server.key -out server_nopwd.key
5、使用OpenSSL对该证书进行自签发,生成有效期10年的CA证书
openssl x509 -req -days 3650 -in server.csr -signkey server_nopwd.key -out server.crt
6、将server.crt证书添加浏览器受信任
google浏览器为例:
1.进入google浏览器设置;
2、选择显示高级设置;
3、点击HTTPS/SSL下的“管理证书...”
4、选择“导入”
4、点击“下一步”
5、点击“浏览”,选择刚刚生成的证书(server.crt),点击“下一步”
6、点击“浏览”,选择“受信任的根证书颁发机构”,点击“下一步”
7、点击“完成”,完成证书导入。
Nginx配置:
server{
#比起默认的80 使用了443 默认 是ssl方式 多出default之后的ssl
listen 443 default ssl;
#default 可省略
#开启 如果把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用
ssl on;
#证书(公钥.发送到客户端的)
ssl_certificate ssl/server.crt;
#私钥,
ssl_certificate_key ssl/server.key;
#下面是绑定域名
server_name www.daj.com;
location / {
#禁止跳转
proxy_redirect off;
#代理淘宝
proxy_pass https://IP:PORT/;
}
}
开启Nginx的ssl模块:
1、the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37