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
接下来,我们需要创建一个专门存放证书的文件夹,下文我们安装证书时,就会安装进这个文件夹里面。
# 创建存放证书文件夹
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"