注:SSL证书不支持一级域名绑定,免费版的只能绑定一个二级域名,如果有多个域名请在购买数量上选择要购买的数量。
1、登录阿里云控制台:https://www.aliyun.com/
点开云安全->SSL证书(应用安全),如下图:
2、进入之后点击左下角“立即购买”
3、选择证书类型为“免费型DV SSL”,选择这个免费的即可,下面的选项不用动。点击立即购买
4、付完款之后返回证书控制台
5.点击申请,按照需求填写相关信息,选择文件验证然后点下一步
证书绑定域名 列输入要绑定的域名(免费版的只能绑定一个域名)
6.信息填写完成后,点击下一步。如下图:
第一步:下载验证文件 fileauth.txt
第二步:网站根目录下创建文件夹 .well-known/pki-validation (该目录从站点的根目录算起,在站点的根目录下创建.well-known/pki-validation子目录。),然后将第一步下载的 fileauth.txt文件上传到新建的目录下。
第三步:验证。若验证通过,就会进入审核,一般需要几分钟左右的时间。
验证链接要确保HTTPS可访问该地址,且证书可信。
验证失败的主要原因:最常见的是服务器未开放443端口。
找到自己买的服务器的信息列表,点击安全->防火墙,看是否有443端口,没有就添加上,如下图:
7.验证通过之后,可以在已签发列表中找到验证通过的证书,选择自己需要的服务器类型点击下载,如下图:
8.点击帮助:
Nginx/Tengine服务器安装SSL证书
https://help.aliyun.com/knowledge_detail/95491.html
证书下载到本地的压缩文件包解压后:
这里按照我的配置说明:重命名证书文件名是server.pem,私钥文件是server.key。
第一步 cd /etc/nginx 创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;
打开 Nginx 配置文件 /etc/nginx/conf.d/default.conf
(以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整)
server {
listen 443;
server_name xxx.xx.com; #绑定的域名
ssl on;
root /usr/share/nginx/html/laravel57/public;#网站根目录
index index.html index.php;
#证书和密钥存放地址
ssl_certificate /etc/nginx/cert/server.pem;
ssl_certificate_key /etc/nginx/cert/server.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;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ /index.php?$query_string; #根据自己项目修改,当前我是laravel项目
}
#laravel 配置
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#通常来说,需要对http进行301跳转到https,简单配置如下:反向代理配置 310重定向
server{
listen 80;
server_name xx.xxx.com;
return 301 https://xx.xxx.com$request_uri;
}
保存退出。
9.重启 Nginx、php-fpm。不行的话开启需要的端口如 443、3306、80 等