1.下载证书


在ssl证书管理界面下载对应于Nginx的证书。
下载的Nginx证书压缩文件解压后包含:

  • .pem:证书文件。PEM文件的扩展名为CRT格式。
  • .key:证书的密钥文件。申请证书时如果未选择自动创建CRS,则下载的证书文件压缩包中不会包含.key文件,需要您将自己手动常见的私钥文件拷贝到cert目录下。

2.更改nginx设置


在nginx安装目录下新建cert目录存储nginx证书        

cd usr/local/nginx/conf
mkdir cert



更改nginx.conf设置vi nginx.conf
找到server块,更改并加入以下内容:

server{
    listen 80;
    server_name localhost; #localhost修改为证书绑定的域名
    rewrite ^(.*)$ https://${server_name}$1 permanent; #设置http自动转发https
}

server{
    listen 443 ssl;#设置SSL功能
    server_name localhost;  #localhost修改为证书绑定的域名
    root html;
    index index.html index.htm;
    ssl_certificate cert/xxxx.pem;   #证书的文件名
    ssl_certificate_key cert/domain 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;   #配置协议
    ssl_prefer_server_ciphers on;   
    ........ 



3.重新编译含有ssl配置的nginx


进入到nginx解压文件夹下

./configure --with-http_ssl_module



如果报错./configure: error: SSL modules require the OpenSSL library说明openssl未安装,安装:

#检查安装
yum list installed | grep openssl
#安装
yum install -y openssl openssl-devel



然后编译并替换原nginx

#编译
make
#备份原nginx
cp 解压目录下/objs/nginx /usr/local/nginx/sbin/nginx.bak
#停止nginx服务
ps aux | grep nginx
kill xxxx #上一条命令找到的进程号
#更新nginx
cp 解压目录下/objs/nginx /usr/local/nginx/sbin/nginx
#检查是否成功
/usr/local/nginx/sbin/nginx -t
#重启nginx服务
cd /usr/local/nginx/sbin
./nginx
 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐