ACME申请SSL证书

1.开放443端口

firewall-cmd --permanent --add-port=443/tcp # 开放443端口
firewall-cmd --reload # 重启防火墙(修改配置后要重启防火墙)

2.安装ACME

# 安装acme
curl https://get.acme.sh | sh -s email=你的邮箱地址
# 别名
alias acme.sh=~/.acme.sh/acme.sh

3.使用ACME申请域名

我们使用ACME申请域名前,需要先配置nginx文件。

# 创建一个配置文件
vim /www/server/panel/vhost/nginx/配置文件(文件名一般用域名).conf
# nginx内容,我们还没有SSL,先不写,后续再加入
server {
   listen 80;
   server_name 申请证书的域名;
   location / {

       proxy_pass http://www.baidu.com;
   }

}

好的,接下来就可以申请域名了,出现下图代表申请成功。

acme.sh --issue -d 申请证书的域名 --nginx /www/server/panel/vhost/nginx/申请证书的域名.conf 

ACME申请SSL证书_第1张图片


接下来,我们需要创建一个专门存放证书的文件夹,下文我们安装证书时,就会安装进这个文件夹里面。

# 创建存放证书文件夹
mkdir -p  /etc/nginx/ssl/申请证书的域名

紧接着,我们完善我们上文的nginx配置文件,加上SSL部分的配置信息。

server {
   listen 80;
   server_name 申请证书的域名;

	# 新增部分
	# 强制https
	return 301 https://$server_name$request_uri;
   
   location / {
       proxy_pass http://www.baidu.com;
   }

}


# 新增部分
server {
        listen       443 ssl;
        server_name  申请证书的域名;
        ssl_certificate    /etc/nginx/ssl/申请证书的域名/cert.pem;
        ssl_certificate_key   /etc/nginx/ssl/申请证书的域名/key.pem;

        ssl_session_cache    shared:SSL:10m;
        ssl_session_timeout  5m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD;
        ssl_prefer_server_ciphers on;

        location / {
            proxy_pass https://www.baidu.com;
        }

}

最后一步,安装至证书文件夹,并重启nginx加载SSL,出现下图代表SSL配置完成

acme.sh --install-cert -d 申请证书的域名 --key-file /etc/nginx/ssl/申请证书的域名/key.pem --fullchain-file /etc/nginx/ssl/申请证书的域名/cert.pem --reloadcmd "systemctl force-reload nginx" 

在这里插入图片描述

你可能感兴趣的:(开发实战,ssl,网络协议,网络,acme)