1、下载ssl证书
如下图,在阿里云搜索ssl证书,进入控制台下载已签发的ssl证书,这里选择Nginx版本的证书。
下载到本地的为压缩文件,解压后,里面包含两个文件,分别为:
.pem文件:是证书文件。
.key文件:证书的私钥文件。
2、上传ssl证书
利用FTP服务器,解压好的两个文件上传到 linux 服务器上面。(不知道怎么使用ftp服务器的,可以参照我前面写的文章进行安装配置https://mp.csdn.net/postedit/88070725)
3、通过Nginx安装配置 ssl 证书
(1)进入nginx安装目录
cd /usr/local/nginx/
(2)创建一个cert目录,用于存放ssl证书文件
mkdir cert
(3)将上传的 两个 ssl 文件拷贝到新建的目录中(xxx改成自己证书的名称即可)
cp /home/fpFtp/xxx.pem /usr/local/nginx/cert/
cp /home/fpFtp/xxx.key /usr/local/nginx/cert/
4、修改nginx配置,使 ssl 证书生效
(1) 输入以下命令,打开nginx配置文件
vim conf/nginx.conf
找到 HTTPS server 的配置,如下
(2)然后输入“ i ”进入编辑模式,将上面的配置的注释打开(去掉前面的 “#” 号),修改为如下内容(具体配置需要根据各自的实际情况修改)
#HTTPS server
server {
listen 443; # 监听端口为443
server_name xxx.com; # 这里改成你自己的服务器域名或者公网IP
ssl on; # 开启ssl
root html;
index index.html index.htm;
ssl_certificate /usr/local/nginx/cert/xxx.pem; # 将xxx改成你自己的ssl证书的名称
ssl_certificate_key /usr/local/nginx/cert/xxx.key; # 将xxx改成你自己的ssl私钥的名称
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; # 指定密码为openssl支持的格式
ssl_prefer_server_ciphers on; # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
location / {
root html; # 根目录的相对位置
index index.html index.htm;
}
}
(3)限制服务器只能通过 https 协议访问(此步骤非必须,视各自情况而定)
找到 HTTP server 的配置,如下
在 配置中加多一项配置如下
rewrite ^(.*)$ https://$host$1 permanent; # 将80端口重定向到443
修改后如下,将访问80端口的请求全部重定向到443端口
修改完按 ESC键,然后输入 :wq 保存配置并退出。
5、重启nginx
(1)执行以下命令,重启nginx
./sbin/nginx -s reload
(2)通过https:
//xxx.com 访问,测试ssl证书是否生效(注意,服务器有设置安全组的,记得把443端口打开才能访问)。至此,SSL证书就安装配置完成了。