自动获取 Let\’s Encrypt免费证书
(对于Linux系统)
安装证书机器人
sudo apt-get 更新
sudo apt-get install certbot python3-certbot-nginx # Nginx 服务器
sudo apt-get install certbot python3-certbot-apache # Apache 服务器
获取并安装证书
sudo certbot –nginx
sudo certbot –apache
admin@debian.com
Y 同意合同
Y 我同意分享我的电子邮件
一次1,2,3,4个多个域名
配置自动更新
Let\’s Encrypt 证书的有效期为90 天。我们建议设置自动续订任务以保持证书的有效性。 Certbot 默认创建一个cron 作业来自动更新证书。
您可以使用以下命令手动测试自动更新任务:
sudo certbot 更新–dry-run
手动获取 Let\’s Encrypt 免费证书(通用方法)
安装证书机器人
sudo apt-get 更新
sudo apt-get 安装certbot
sudo certbot certonly –standalone -d yourdomain.com
证书配置
获得证书后,请在服务器软件(例如Nginx 或Apache)中配置证书和私钥。 Certbot 通常将证书和私钥存储在/etc/letsencrypt/live/yourdomain.com/目录中。
自动更新
设置自动续订任务以保持证书有效。 Certbot 更新命令可以通过cron 任务定期运行。
须藤crontab -e
0 0 * * * certbot 更新–quiet
以上是每天午夜执行的自动证书续订检查。
配置Nginx 或Apaceh
自建证书
生成私钥文件
openssl genrsa -out key.pem 2048
生成证书签名请求(CSR)
openssl req -new -key key.pem -out csr.pem -subj \’/CN=*.yiparts.debian\’
生成自签名证书
openssl x509 -req -in csr.pem -signkey key.pem -out cert.pem -days 365
生成自签名中间证书
openssl req -new -newkey rsa:2048 -nodes -keyout middle.key -out middle.csr -subj \’/CN=中间CA\’
自签名中间证书
openssl x509 -req -inintermediate.csr -signkeyintermediate.key -outintermediate.crt -days 365 创建完整的证书链
猫cert.pem 中间.crt fullchain.pem
将证书添加到受信任的根证书颁发机构
将PEM 文件转换为CRT 文件,因为Windows certutil 需要365 天有效的CRT 格式。
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.crt
按certutil.bat 或Win + R、certmgr.msc 将证书添加到受信任的根证书颁发机构
Nginx配置
服务器{
443 监听SSL。
ssl_certificate /home/qg/ssl/fullchain.pem;
ssl_certificate_key /home/qg/ssl/key.pem;
ssl_协议TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:aNULL:MD5;
服务器名称demo.yiparts.debian;
root /home/wwwroot/project/yiparts #网站根目录
索引index.php索引.html索引.htm;
位置~ ^/(静态|文件|缓存)/{
try_files $uri=404; # 以/xxx/开头的URL直接搜索对应的文件输出,无论文件是否存在。
}
位置~* \\.(js|css|jpg|jpeg|png|gif|ico|svg)$ {
try_files $uri=404; # 直接搜索对应的以.xxx结尾的文件输出,无论文件是否存在。
}
位置/{
try_files $uri $uri//index.php?$query_string; # 所有请求都传递到index.php,除了上面的直接输出规则。
}
# 增加FastCGI超时
fastcgi_read_timeout 600 秒;
位置~ \\.php$ {
包括片段/fastcgi-php.conf。
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
包含fastcgi_params。
# 禁用OPcache
fastcgi_param PHP_ADMIN_VALUE \’opcache.enable=0\’;
#添加开发者头信息
fastcgi_param X_DEVELOP \’1\’;
}
}
以上关于#SSL证书的相关内容摘自互联网,仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93158.html