yum install -y snapd
apt install snapd
# 1.安装snapd
yum reinstall -y snapd
# 重新安装 snapd,确保您的 snapd 版本是最新的
systemctl enable --now snapd.socket
# 安装后,需要启用管理主 snap 通信套接字的systemd单元
snap install core;
# 安装核心如果报错请检查第一步
snap refresh core
# 刷新核心
snap install --classic certbot
# 安装证书机器人
# sudo apt-get remove certbot、sudo dnf remove certbot或sudo yum remove certbot。
# 如果您使用apt、dnf或yum等操作系统包管理器安装了任何 Certbot 包 ,则应在安装 Certbot snap 之前将其删除,以确保在运行命令 certbot 时使用的是 snap,而不是从您的操作系统包安装经理。
ln -s /var/lib/snapd/snap /snap
# 软连接(快捷方式)已经安装的软件 snap 到 要求的路径snap :经典限制要求在/snap或symlink下使用快照
snap install --classic certbot
# 安装证书机器人
ln -s /snap/bin/certbot /usr/bin/certbot
# 将证书机器人安装目录创建快捷方式到 运行目录 /usr/bin/certbot (软连接)
# 删除快捷方式,删除软连接 rm -rf /usr/bin/certbot
#!/bin/bash # 自动申请ssl 证书 InstallSnapd() { sudo apt install snapd -y sudo systemctl enable --now snapd.socket sudo snap install core sudo snap refresh core sudo snap install --classic certbot sudo ln -s /var/lib/snapd/snap /snap sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot } RequestSSL() { sudo certbot certonly --nginx # 只获取证书 } main() { InstallSnapd RequestSSL } main
nano /etc/nginx/nginx.conf
# 修改 nginx.conf 文件,在 http 板块 引入子配置文件 如: include /datadisk/eisc/wwwconf/nginxzhuanfa/*.conf;
nano /datadisk/eisc/wwwconf/nginxzhuanfa/www.conf
# 编辑子配置文件,内容如下:
############################### 简单配置案例 ##########################################
server{ listen 80; server_name www.ddoss.cn ddoss.cn; location / { return 301 https://www.ddoss.cn$request_uri; } } # 该板块范围内的 80 端口绑定的域名都 301 转跳到 https://www.ddoss.cn server{ listen 443 ssl; server_name ddoss.cn; #-------- 证书配置 ---------# ssl_certificate /etc/letsencrypt/live/ddoss.cn/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/ddoss.cn/privkey.pem; 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; #------- ssl 301 转跳 -----# location / { return 301 https://www.ddoss.cn$request_uri; } } #该板块范围内的 443 端口绑定的域名都 301 转跳到 https://www.ddoss.cn server{ listen 443 ssl; server_name www.ddoss.cn; #-------- 证书配置 ---------# ssl_certificate /etc/letsencrypt/live/www.ddoss.cn/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.ddoss.cn/privkey.pem; 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; #------- ssl 301 转跳 -----# # location 这一部分 是配置 php 的 php-fpm ; 但是小绿叶技术博客有后端服务器,因此这里是代理。按照实际需求填写 location / { proxy_pass http://10.1.1.3:62010; #---- 记录 IP 地址 ----# proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # sudo certbot certonly --nginx # 自动证书 ssl 只获取证书, 链接: https://www.ddoss.cn/read-1052-1.html
############################### 完整配置案例 ##########################################
server { listen 443 ssl; listen 80; server_name eisc.cn www.eisc.cn; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/www; include enable-php-72.conf; include /www/server/panel/vhost/rewrite/www.eisc.cn.conf; #-------- 证书配置 ---------# ssl_certificate /www/wwwroot/www/ssl443/eisc.pem; ssl_certificate_key /www/wwwroot/www/ssl443/eisc.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; #------- ssl 301 转跳 -----# if ($server_port = 80){ rewrite ^(/.*)$ https://$host$1 permanent; } #---------------------------# location /ccb/ { return 301 http://work.eisc.cn; proxy_pass https://www.eisc.cn; index index.html index.php; } location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*\.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } access_log /www/wwwlogs/www.eisc.cn.log; error_log /www/wwwlogs/www.eisc.cn.error.log; }
# certbot --nginx
# 自动配置nginx ssl 证书,会修改nginx 配置文件,输入电子邮箱,后回车确认
# 运行此命令以获取证书并让 Certbot 自动编辑您的 Nginx 配置以提供服务,只需一步即可打开 HTTPS 访问
certbot certonly --nginx
# 我们选择只获得nginx 证书,手动配置,将来源的ssl 证书删除,然后将自动下载的ssl 创建软链接(快捷方式)到原来的ssl 文件
# 1: Keep the existing certificate for now
# 暂时保留现有证书
# 2: Renew & replace the certificate (may be subject to CA rate limits)
# 更新和更换证书(可能受CA费率限制) 2
# agree in order to register with the ACME server. Do you agree?
# 同意在ACME服务器上注册。你同意吗? y
# Would you be willing, once your first certificate is successfully issued, toshare your email address with the Electronic Frontier Foundation,
# 一旦您的第一份证书成功颁发,您是否愿意分享你的电子邮件地址与电子前沿基金会,成立Let's Encrypt项目的合作伙伴和机器人 no
# Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel):
# 选择以逗号和/或空格分隔的适当数字,或保留输入 空白选择显示的所有选项(输入“c”取消):
# Successfully received certificate.
# Certificate is saved at: /etc/letsencrypt/live/www.eisc.cn/fullchain.pem
# Key is saved at: /etc/letsencrypt/live/www.eisc.cn/privkey.pem
# 证书的位置如上图,自动修改nginx 子站点的 ssl 路径,每三个月自动更新ssl
# 由于是链接的国外 R3 证书颁发机构,可能存在失败的情况,需要重试
rm -rf /eisc/www/ssl/eisc/eisc.pem
rm -rf /eisc/www/ssl/eisc/eisc.key
# 删除原有ssl 证书文件
ln -s /etc/letsencrypt/live/www.eisc.cn/fullchain.pem /eisc/www/ssl/eisc/eisc.pem
ln -s /etc/letsencrypt/live/www.eisc.cn/privkey.pem /eisc/www/ssl/eisc/eisc.key
nginx -s reload
# 重载nginx 配置文件
教程来源:https://www.cnblogs.com/hushuning/p/14842251.html
Powered by ddoss.cn 12.0
©2015 - 2024 ddoss
渝公网安备50011302222260号 渝ICP备2024035333号 【实验平台安全承诺书】 小绿叶技术社区,优化网络中,点击查看配置信息
您的IP:192.168.122.82,2024-12-09 06:18:16,Processed in 0.03431 second(s).