xdtianyu / scripts

scripts for work
https://www.xdty.org
1.03k stars 245 forks source link

能不能指定某个文件夹让证书都生成在这个文件夹啊 #47

Closed daiaji closed 7 years ago

daiaji commented 7 years ago

都放在脚本工作目录 清理起来好麻烦啊

xdtianyu commented 7 years ago

可以尝试使用软链接将证书文件从web服务配置目录指向到脚本工作目录的生成文件。

daiaji commented 7 years ago

@xdtianyu 我尝试设定ACCOUNT_KEY DOMAIN_KEY为绝对路径 然后证书就直接生成到~目录下了…… 更尬了 所以这个是由acme_tiny.py控制的吗?

xdtianyu commented 7 years ago

建议直接修改

cat "$DOMAIN_CRT" lets-encrypt-x3-cross-signed.pem > "$DOMAIN_CHAINED_CRT"

if [ "$LIGHTTPD" = "TRUE" ];then
    cat "$DOMAIN_KEY" "$DOMAIN_CRT" > "$DOMAIN_PEM"

里 cat 命令 > 后的文件路径。

daiaji commented 7 years ago

@xdtianyu 为啥不在配置文件里设定一个相关的键值呢?

xdtianyu commented 7 years ago

因为没有考虑过这个需求

daiaji commented 7 years ago

@xdtianyu 顺便问一下就是/.well-known/acme-challenge/那个验证用的url默认是http吧 但是我出于能少开端口就少开端口的原则 是弄了全域SSL的 于是80端口就关掉了 acme_tiny.py也是固化了这个url为http吧 这样我就不得不在验证时开启80端口了 这样脚本就需要root的权限了……

只能这样吗? 有办法只开443端口也能完成lets encrypt的续期吗?

xdtianyu commented 7 years ago

你试一下吧,我记得 443 端口是可以用于验证的不是必须 80 。而且 443 和 80 端口都需要以 root 权限启动的。脚本不会监听端口吧,是你的 web 服务监听的。另外你可以选择 dns 验证的方式,也不需要验证web目录了只需要改 dns 就可以。更多问题请仔细阅读 README 文档 https://github.com/xdtianyu/scripts/tree/master/le-dns

daiaji commented 7 years ago

@xdtianyu 42-1f52g50200-50 jpg q_80

daiaji commented 7 years ago

@xdtianyu 然后就很奇怪了 为什么le-cloudxns.sh会把生成的签名塞到certs 而letsencrypt.sh不会?