云服务器安全部署-SSL部署篇

上一篇白嫖的已经过去很久了但是最近才想起来还没部署...一个是因为当时写的时候没备案部署不了一个是忙忘了...

本文章以Ubuntu 20.04.6,Nginx1.22.1为例。版本不同可能会导致步骤上的细微差别。

前置条件:

· 已有数字证书

· 域名已完成DNS解析

本文将全面介绍如何在Nginx或Tengine服务器配置SSL证书,具体包括下载和上传证书文件,在Nginx上配置证书文件、证书链和证书密钥等参数,以及安装证书后结果的验证。成功配置SSL证书后,将能够通过HTTPS加密通道安全访问Nginx服务器。

  1. 由于我用的是阿里云云服务器ESC,在安全组中开放TCP443端口

2. 证书下载

3.在Nginx服务器安装证书

如果是直接用阿里云服务器部署的,可以参考:

cd /usr/local/nginx/conf  #进入Nginx默认配置文件目录。该目录为手动编译安装Nginx时的默认目录,如果您修改过默认安装目录或使用其他方式安装,请根据实际配置调整。
mkdir cert  #创建证书目录,命名为cert。

此处我发现终端怎么都找不到信息,一番操作后恍然大悟,我是用宝塔部署的,遂用宝塔的终端,果然找到了

甚至图形化交互页面都有了...晒干了沉默。

接下来就是把刚刚下好的证书文件和私钥文件上传到Nginx服务器的证书目录(/usr/local/nginx/conf/cert)

我尝试一下在图形界面直接上传...

ohhh,可以直接上传

3.编辑Nginx配置文件nginx.conf,修改与证书相关的配置。

其他部署的需要考虑用命令行找到conf文件修改。此处直接在宝塔打开文件夹找到conf文件,双击编辑

server {
     #HTTPS的默认访问端口443。
     #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
     listen 443 ssl;
     
     #填写证书绑定的域名
     server_name <yelan.xyz>;
 
     #填写证书文件绝对路径
     ssl_certificate cert/</www/server/nginx/conf/cert/www.yelan.xyz.pem>.pem;
     #填写证书私钥文件绝对路径
     ssl_certificate_key cert/</www/server/nginx/conf/cert/www.yelan.xyz.key>.key;
 
     ssl_session_cache shared:SSL:1m;
     ssl_session_timeout 5m;
	 
     #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
     #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
     ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

     #表示优先使用服务端加密套件。默认开启
     ssl_prefer_server_ciphers on;
 
 
    location / {
           root html;
           index index.html index.htm;
    }
}
server {
    listen 80;
    #填写证书绑定的域名
    server_name <yelan.xyz>;
    #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    rewrite ^(.*)$ https://$host$1;
    location / {
        index index.html index.htm;
    }
}

 

 

版权声明:
作者:夜阑
链接:http://yelan.xyz/index.php/2024/03/07/%e4%ba%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%ae%89%e5%85%a8%e9%83%a8%e7%bd%b2-ssl%e9%83%a8%e7%bd%b2%e7%af%87/
来源:夜阑的小站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>