 (相关资料图)
(相关资料图)
文中的操作都是在CentOS Stream release 9下执行的,使用的是root用户。
# 卸载原有的dockeryum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 安装依赖yum install -y yum-utils device-mapper-persistent-data lvm2# 配置docker-ce源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装dockeryum install docker-ce docker-ce-cli containerd.io docker-compose-plugin# 安装docker-composewget https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64chmod +x docker-compose-linux-x86_64 && mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose && ldconfig关于Let`s Encrypt可以参见这里。
certbot安装使用参加这里。
为了方便维护、升级,同时也避免破坏本地的开发环境,我这里使用docker方式来运行certbot。整个过程分为两步:首次申请证书和证书更新。
因为我的文章都是通过jekyll运行的静态网站,之后会通过nginx来运行,所以这里就以nginx为例来配置网站的tls证书。
default.conf:server {    listen      80;    server_name example.com www.example.com;    # 高优先级,仅用于更新证书    location ~ /.well-known/acme-challenge {        allow all;        root /data/letsencrypt;    }}version: "3.3"services:  nginx:    image: nginx:1.23.4-alpine    container_name: frontend    volumes:      - ./default.conf:/etc/nginx/conf.d/default.conf      - ./frontend:/usr/share/nginx/html    ports:      - 80:80docker-compse up -dcertbot申请证书:docker run --rm -it -v ./certbot/etc/letsencrypt:/etc/letsencrypt -v ./certbot/var/log/letsencrpt:/var/log/letsencrypt -v ./frontend:/data/letsencrypt certbot/certbot:latest certonly --webroot --email your@eamil.com --agree-tos --no-eff-email --webroot-path=/data/letsencrypt -d example.com -d example.com
运行结束后可以在./certbot/etc/letsencrypt/live目录下找到example.com文件夹,其中包含证书文件fullchain.pem和私钥文件privkey.pem。
docker-compose downversion: "3.3"services:  nginx:    image: nginx:1.23.4-alpine    container_name: frontend    volumes:      - ./default.conf:/etc/nginx/conf.d/default.conf      # - ./frontend:/usr/share/nginx/html      - ./certbot/etc/letsencrypt/live:/letsencrypt/live        # 当前证书目录      - ./certbot/etc/letsencrypt/archive:/letsencrypt/archive  # 历史证书目录      - ./dhparam-2048.pem:/letsencrypt/dhparam-2048.pem        # 使用2048位DH(Diffie-Hellman)参数    ports:      - 80:80      - 443:4432048为DH参数生成命令:openssl dhparam -out ./dhparam-2048.pem 2048
# 处理http请求server {    listen      80;    server_name example.com www.example.com;    # 重定向到https    location / {        rewrite ^ https://$host$request_uri? permanent;    }    # 高优先级,仅用于更新证书    location ~ /.well-known/acme-challenge {        allow all;        root /data/letsencrypt;    }}# 处理https请求server {    listen 443 ssl http2;    server_name example.com www.example.com;    server_tokens off;    ssl_certificate /letsencrypt/live/example.com/fullchain.pem;    ssl_certificate_key /letsencrypt/live/example.com/privkey.pem;    ssl_buffer_size 8k;    ssl_dhparam /letsencrypt/dhparam-2048.pem; # 使用2048位DH参数,加强安全    ssl_protocols TLSv1.2 TLSv1.1 TLSv1;    ssl_prefer_server_ciphers on;    ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;    ssl_ecdh_curve secp384r1;    ssl_session_tickets off;    # OCSP stapling    ssl_stapling on;    ssl_stapling_verify on;    resolver 8.8.8.8;    root /usr/share/nginx/html;    index index.html;}docker-compose up -d#!/bin/bashdocker run -it --rm \-v ./certbot/etc/letsencrypt:/etc/letsencrypt \-v ./certbot/var/lib/letsencrypt:/var/lib/letsencrypt \-v ./certbot/var/log/letsencrypt:/var/log/letsencrypt \-v ./site:/data/letsencrypt \certbot/certbot \renew --webroot -w /data/letsencrypt --quiet && docker kill --signal=HUP frontend0 0 1 * * {{YOURPATH}}/renew.sh声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。Author: mengbinblog: mengbinGithub: mengbin92cnblogs: 恋水无意
 
              一米八几的大个子,蜷缩在一张轮椅上,仅凭两根手指写字,却以惊人毅力
 
              住过海景房、湖景房,那你有没有住过“猪景房”?是的,就是字面那个意
 
              6月25日,一则寻人消息引发许多网友关注,寻人消息称:万文,青神人,
 
              6月25日,记者从省人社厅了解到,近日,我省启动2023年度豫商豫才返乡
 
              6月24日,四川眉山。26岁女孩乘网约车下车后失联,目前家人正紧急寻人
 
              “成都一女子自怀孕遭丈夫家暴多内脏受损”,引起广泛关注。6月25日晚
 
              近日,吉林四平一家名为“雄性食材烧蒸馆”的餐馆,被指菜单中出现粗俗
 
              郑州天气预报晴天间多云26℃~36℃西南风3级宝子们早上好吖!送走了高考
 
              前不久,“酒吧擅自邀请涉毒艺人孙兴被罚5万元”话题登上热搜。浙江省
 
              6月24日,一男子在黑龙江双鸭山宝山区一市场门口喝下不明液体,正在买
 
              近日,一环保志愿小组发起“嘉塘数鸟人”野生鸟类观察和保护项目因试用
 
              排球场上六个位置:发球、第一传球(接球)、第二传球(提球)、扣球、拦网和救球。排球位置分配包括三种类...
 
              耆读音:耆是一个汉字,读音qí,意思是六十岁曰耆,亦泛指寿考。耆耋和耄耋的区别:1、字形上的...
 
              沧海横流方显英雄本色含义:1、沧海横流,方显出,英雄本色的意思是在广阔无垠的大海里面冲浪,越是怒涛...
 
              读书须用意一字值千金含义:1、读书须用意,一字值千金指的是想文采出众,一字千金,就得在读书时下一番...
 
              外交部发言人就瓦格纳集团事件答记者问问:据报道,普利戈任与瓦格纳集
 
              知其不可奈何而安之若命下一句:知其不可奈何而安之若命,德之至也;悟其可以纵横而行之无忌,道之极也。...
 
              学用相长是读chang还是zhang:你好,学用相长是读zhǎng,读音是xué yòng xiàng...
 
              说到排球大家首先想到的大多都是六人排球在海南还流行着一种九人排球排
 
              毒品害人害己,切莫以身试毒,涉毒必抓,别等到酿成大错才后悔莫及。在
X 关闭
X 关闭
06-25 16:21:01
06-25 15:52:24
06-25 15:48:18
06-25 15:13:29
06-25 14:42:24