由于服务器在阿里云 就弄了个阿里的ssl证书 记录一下
1.第一步打开阿里云的ssl控制台 点击ssl证书-》证书申请–》免费证书-》创建证书
2.点击签发好的证书右侧下载 选择自己的需求 接下来讲解的是nginx
.PEM格式的证书文件是采用Base64编码的文本文件,
.KEY格式的证书密钥文件。
3.登录服务器 进入nginx配置文件nginx.conf —接下来部署ssl代码 在http{} 创建一个server
server
{
listen 443 ssl;
server_name 申请证书的域名;
index index.php index.html index.htm default.php default.htm default.html;
root /www/a/aaa/public;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
ssl_certificate /www/ss/aa/aa/cert/aa.pem; #需要将cert-file-name.pem>替换成已上传的证书文件的名称。
ssl_certificate_key /www/ss/aa/aa/cert/aa.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
}
4.需要将80或别的端口转到https
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
5.接下来重启服务器进入nginx/sbin
./nginx -s reload 就ok了
千万不要忘记在阿里云安全组添加443端口 和 服务器上放行443端口
如果报错
收到the "ssl" parameter requires ngx_http_ssl_module报错:您需要重新编译Nginx并在编译安装的 时候加上--with-http_ssl_module配置。
收到"/cert/123_1c.1.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(’/cert/123_1c.1.com.pem’,‘r’) error:2006D080:BIO routines:BIO_new_file:no such file)报错:您需要去掉证书相对路径最前面的/。例如,您需要去掉/cert/name.pem最前面的/,使用正确的相对路径cert/cert-file-name.pem。