更新 ssl 证书时痛苦,求推荐比 nginx 好用的反向代理服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zealinux
V2EX    NGINX

更新 ssl 证书时痛苦,求推荐比 nginx 好用的反向代理服务

  •  
  •   zealinux 2021-03-03 10:00:28 +08:00 5660 次点击
    这是一个创建于 1687 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有 100+个二级域名, 然后有 nginx 服务有 10+台,

    现在的做法是,上传 ssl 泛域名 ssl 证书到 10+台机器上, 然后更新 100+个配置文件。

    有点痛苦

    有没有什么好的方法,只要在 nginx.conf导入一次就行。 然后各个 conf.d 目录下的配置文件引用这个变量就行。

    这样我以后升级,就只要改 10+个 nginx.conf 就行了。这样就舒服多了。

    或者有没有其他更好的反向代理服务推荐?

    最好是有webui的, 这样不需要登陆到各个机器上编辑文件。

    31 条回复    2021-03-05 08:43:39 +08:00
    dongtingyue
        1
    dongtingyue  
       2021-03-03 10:02:56 +08:00
    为啥要更新配置文件?不是只要更新证书就可以了么
    matolv
        2
    matolv  
       2021-03-03 10:03:57 +08:00
    rsycn 把证书覆盖掉就行了,不需要其他操作
    zengxs
        3
    zengxs  
       2021-03-03 10:04:00 +08:00
    Nginx 有个 include 指令就是用来干这个的

    Debian/Ubuntu 的 Nginx 配置中默认有一个 snippet 目录,就是用来存放一些通用配置片段的,然后在其他配置文件中 include 就行了
    Slartibartfast
        4
    Slartibartfast  
       2021-03-03 10:04:40 +08:00 via iPhone
    写个脚本就行了
    zengxs
        5
    zengxs  
       2021-03-03 10:05:34 +08:00
    #1 确实,只要更新证书文件就行了,完全不需要更新配置,刚刚都没反应过来
    love4taylor
        6
    love4taylor  
    PRO
       2021-03-03 10:09:00 +08:00
    caddy ?
    imdong
        7
    imdong  
       2021-03-03 10:09:38 +08:00
    写个脚本,定时执行,从特定地址下载证书并解压到特定目录.

    然后重启 nginx,

    现在,你甚至都不需要登陆到对应服务器,也不用改 nginx 了.

    当然,更换证书只要文件名相同也不需要修改配置文件吧?

    简单代码如下(盲写 未测试)

    cron 0 0 1 * *

    ====

    wget https://xxx.com/ca.tar.gz -O /tmp/ca.tar.gz

    tar -zxf /tmp/ca.tar.gz -C /etc/nginx/ca

    nginx -s reload
    hxndg
        8
    hxndg  
       2021-03-03 10:12:14 +08:00
    我司多机器组件 ha 的时候是 ha 有个同步脚本
    用的 rsync,是从本机登录到目标机器上,然后执行从本机到目标机器的拷贝
    写个脚本就成。
    CoreJa
        9
    CoreJa  
       2021-03-03 10:27:24 +08:00   1
    更新证书+reload nginx 的事情,为啥要改 nginx 配置?
    noahzh
        10
    noahzh  
       2021-03-03 10:35:04 +08:00
    推荐使用 traefik.
    xuanbg
        11
    xuanbg  
       2021-03-03 10:35:19 +08:00
    买个通配符证书,失效只需要更新几个证书文件就行了
    xuanbg
        12
    xuanbg  
       2021-03-03 10:36:25 +08:00
    为啥要更新 conf ?替换 10服务器上面的证书文件不就好了吗?
    xiwangzishi
        13
    xiwangzishi  
       2021-03-03 10:44:22 +08:00
    http://www.confd.io/ 试一试这个
    paranoia
        14
    paranoia  
       2021-03-03 10:50:39 +08:00
    webui? gitee 上有个 nginxWebUI,我这发不了链接,楼主可以去搜搜看
    saytesnake
        15
    saytesnake  
       2021-03-03 10:56:07 +08:00
    ...include 是干嘛的...不就是做这个的么
    d0m2o08
        16
    d0m2o08  
       2021-03-03 11:02:07 +08:00
    这么多机器不试试 ansible 一把梭么?
    guxingke
        17
    guxingke  
       2021-03-03 11:28:26 +08:00
    conf 还是要更新的,证书名字最好能体现一些信息,比如过期时间之类的,方便校验。
    配置改完之后的发布和 reload,建议配合 ansible 来做 10+ 个实例很快的
    eason1874
        18
    eason1874  
       2021-03-03 11:29:56 +08:00
    什么配置都不用动,证书和密钥文件名不变,rsync 直接覆盖同步过去,然后 systemctl reload nginx 就行了
    tinyRat
        19
    tinyRat  
       2021-03-03 11:33:09 +08:00
    caddy?
    eason1874
        20
    eason1874  
       2021-03-03 11:35:16 +08:00
    如果证书文件名一定要变,就把这两行独立出来一个文件:

    ssl_certificate /etc/nginx/ssl/domain.crt;
    ssl_certificate_key /etc/nginx/ssl/domain.key;

    比如命名成 ssl_cert.conf 放在 ssl 目录,然后其他配置文件应该填这两行的地方改成:

    include /etc/nginx/ssl/ssl_cert.conf;

    然后每次变更证书,就更新这个文件,然后 reload nginx
    herbertzz
        21
    herbertzz  
       2021-03-03 11:37:47 +08:00
    traefik 我用于管理 docker 容器, 用的挺爽的, 可以自动申请证书, 还能服务发现....
    上手再简单点就好了, 花了一天看官方文档, 才弄清楚原理和使用
    SenLief
        22
    SenLief  
       2021-03-03 12:01:42 +08:00
    如果是买的证书不都是 1 年起步吗?那 1 年更新一次也没多少时间啊。
    liuzhaowei55
        23
    liuzhaowei55  
       2021-03-03 12:08:09 +08:00 via iPhone
    nginx 有的版本更新证书后要重启?
    ik
        24
    ik  
       2021-03-03 12:10:37 +08:00 via iPhone
    ansible copy

    nfs 共享证书目录不都可以吗
    clf
        25
    clf  
       2021-03-03 13:03:21 +08:00
    自动签发的脚本配置好,就很方便了。
    isnullstring
        26
    isnullstring  
       2021-03-03 13:54:16 +08:00
    不是直接更新证书文件么?配置也不用改的
    cominghome
        27
    cominghome  
       2021-03-03 14:20:20 +08:00
    楼上已经很多人回复了,做一个软链接的事情,别搞复杂了
    106npo
        28
    106npo  
       2021-03-03 14:45:16 +08:00 via Android
    审题的话 我推荐用 caddy
    wakzz
        29
    wakzz  
       2021-03-03 15:30:36 +08:00
    使用 Kong 替代 Nginx
    dot
        30
    dot  
       2021-03-03 15:32:17 +08:00
    有个叫 Caddy 的 Web server,自带证书申请和续期……啥都不用管~
    Showfom
        31
    Showfom  
    PRO
       2021-03-05 08:43:39 +08:00 via iPhone
    @liuzhaowei55 所有版本都需要 reload 重启倒不是必须
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3600 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 00:46 PVG 08:46 LAX 17:46 JFK 20:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86