V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
通过以下 Referral 链接购买 DigitalOcean 主机,你将可以帮助 V2EX 持续发展
DigitalOcean - SSD Cloud Servers
iLoveSS
V2EX  ›  VPS

小白请教在 vps 上搭建 caddy 反代 https 服务器的问题

  •  1
     
  •   iLoveSS · 15 天前 · 805 次点击

    有个腾讯的轻量云 vps,平时主要用来学习 linux 环境和简单开发,经常会在上面练习并重置配置环境.

    最近刚好了解到 caddy docker 可以简单地把原来 http 服务变成 https. 相关的文件配置内容如下.

    /etc/caddy/Caddyfile

    webdav.mydomain {
        reverse_proxy mydomain2:5123
    }
    

    docker-compose.yml

    services:
      caddy:
        image: caddy:alpine
        restart: always
        volumes:
          - /etc/caddy/Caddyfile:/etc/caddy/Caddyfile
          - caddy_data:/data
        ports:
          - 80:80
          - 443:443
    
    volumes:
      caddy_data: {}
    

    我的问题是,因为经常会重置系统,我发现重置完系统后再运行上面的 caddy 设置,有时会导致 caddy 申请 https 证书失败,看 log 的输出好像是同一个域名申请太频繁了.

    手里只有这个小鸡,有什么办法可以既能愉快地重置系统,又能保持 caddy docker 正常地 tls 反代本地服务呢? 大佬请指教...

    15 条回复    2024-06-05 11:44:51 +08:00
    LittleState
        1
    LittleState  
       15 天前 via Android   ❤️ 1
    你应该把证书的目录也映射出来,应该就不用每次都重新申请了
    heiybb
        2
    heiybb  
       15 天前
    试试微林?
    https://github.com/tmplink/KnowledgeBase/blob/main/vxlink/vxssl.md
    证书给第三方托管好了如果只是测试类的东西
    cheng6563
        3
    cheng6563  
       15 天前
    你看看 caddy_data 卷里有没有正常存下证书
    hzcer
        4
    hzcer  
       15 天前 via iPhone
    iLoveSS
        5
    iLoveSS  
    OP
       15 天前
    @hzcer 谢谢,简单学习了一下.给 caddy 加 module,是不是需要自己 build 一个 image? 我用的文件如下,在轻量云上 build 的时候无法访问 github 了..

    /etc/caddy/Dockerfile
    ```
    FROM caddy:2.7.2-builder AS builder
    RUN xcaddy build v2.7.2 \
    --with github.com/ss098/certmagic-s3
    FROM caddy:2.7.2
    COPY --from=builder /usr/bin/caddy /usr/bin/caddy
    ```

    /etc/caddy/docker-compose.yml
    ```
    services:
    caddy:
    build:
    context: .
    dockerfile: /etc/caddy/Dockerfile
    restart: always
    volumes:
    - /etc/caddy/Caddyfile:/etc/caddy/Caddyfile
    - caddy_data:/data
    ports:
    - 80:80
    - 443:443

    volumes:
    caddy_data: {}
    ```
    iLoveSS
        6
    iLoveSS  
    OP
       15 天前
    @cheng6563 有的,手动备份吗? 它应该会经常定时备份证书文件的吧, 我一般重置系统比较频繁,重置前手动备份这个目录有点麻烦.
    iLoveSS
        7
    iLoveSS  
    OP
       15 天前
    @LittleState 是不是映射到一个固定的存储上比较好, 不然还是要备份还原这个文件夹吧?
    iLoveSS
        8
    iLoveSS  
    OP
       15 天前
    @heiybb 没有了解过微林,试了一下,发现网站注册还要邀请码呀..
    yianing
        9
    yianing  
       15 天前
    重置系统数据肯定就没了,把数据用 rclone 备份到 s3 上
    hzcer
        10
    hzcer  
       15 天前 via iPhone
    @iLoveSS 是的,你也可以预编译一个上传到 dockerhub
    iLoveSS
        11
    iLoveSS  
    OP
       15 天前
    @hzcer 我也是这么想的. 在 wsl 的 debian 上试图编译,但是也遇到墙的问题.

    在 wsl 使用代理,以及 docker build 的时候使用代理还不太会.
    iLoveSS
        12
    iLoveSS  
    OP
       15 天前
    @yianing 嗯, 我想是不是可以加购个腾讯的云硬盘然后把这些数据指到云硬盘上
    hzcer
        13
    hzcer  
       15 天前 via iPhone   ❤️ 1
    @iLoveSS 可以用 github actions 编译
    iLoveSS
        14
    iLoveSS  
    OP
       15 天前
    @hzcer 有道理!!!!
    Tuuure
        15
    Tuuure  
       15 天前
    既然是练习用,弄个自签名证书吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3118 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:56 · PVG 19:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.