Let's Encrypt 使用 webroot 方式签发证书一直失败? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jsjcjsjc
V2EX    NGINX

Let's Encrypt 使用 webroot 方式签发证书一直失败?

  •  
  •   jsjcjsjc 2016-10-24 21:54:57 +08:00 9538 次点击
    这是一个创建于 3278 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ./certbot-auto certonly --webroot -w /usr/share/nginx/html -d cl.getpocket.net

    ./certbot-auto certonly --webroot -w /var/www/html -d cl.getpocket.net

    这 2 条命令为什么总是提示 Could not connect to cl.getpocket.net ?尝试一下 standalone 是可以的,所以应该是 nginx 的 root 位置我搞错了?

    主要是想把 50 个域名的证书都放在一个地方,所以才想用 webroot 。。。。

    42 条回复    2016-11-29 11:27:31 +08:00
    msg7086
        1
    msg7086  
       2016-10-24 23:48:44 +08:00
    Could not connect 是你 Nginx 没起来吧?
    (另外也可以试试 acme.sh
    jkmmmm
        2
    jkmmmm  
       2016-10-25 08:32:22 +08:00
    你是不是占着 80 端口呢?得先把 nginx 停了吧!
    jsjcjsjc
        3
    jsjcjsjc  
    OP
       2016-10-25 09:06:57 +08:00
    @jkmmmm webroot 是不需要停用端口的,而且我停用了也没用~~
    只有 standalone 是可以的
    qyz0123321
        4
    qyz0123321  
       2016-10-25 09:32:10 +08:00
    这个网站是什么鬼,上班的时候不要打开啊。。。
    w99wen
        5
    w99wen  
       2016-10-25 09:51:03 +08:00
    楼主过分了。这网站什么鬼。
    zhenjiachen
        6
    zhenjiachen  
       2016-10-25 10:11:13 +08:00
    老司机
    bobylive
        7
    bobylive  
       2016-10-25 11:10:20 +08:00 via Android
    https://github.com/diafygi/acme-tiny 签发即可,完全不需要关站
    b1eberg0n
        8
    b1eberg0n  
       2016-10-25 11:22:00 +08:00 via iPhone
    新的开车方式么…
    jsjcjsjc
        9
    jsjcjsjc  
    OP
       2016-10-25 12:25:39 +08:00
    大家不要转移注意力
    jsjcjsjc
        10
    jsjcjsjc  
    OP
       2016-10-25 12:31:18 +08:00
    我就是想把多个域名的证书放在一起文件下,后面新增的也在更新到同一个文件里~
    w99wen
        11
    w99wen  
       2016-10-25 12:31:41 +08:00
    能给个 nginx 反代规则不。 thx
    jsjcjsjc
        12
    jsjcjsjc  
    OP
       2016-10-25 13:15:15 +08:00
    @w99wen
    vi /etc/nginx/sites-enabled/cl.getpocket.net.conf
    server {
    server_name cl.getpocket.net;
    listen 80;

    location / {
    proxy_pass http://t66y.com/; #需要反代的域名
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }
    w99wen
        13
    w99wen  
       2016-10-25 13:47:37 +08:00
    你看下这个地方。把你那个网站加个用户名密码吧。 http://www.oschina.net/question/733503_146265
    jsjcjsjc
        14
    jsjcjsjc  
    OP
       2016-10-25 15:06:47 +08:00
    @w99wen 我关键是怕墙的检测~~
    lslqtz
        15
    lslqtz  
       2016-10-25 15:18:17 +08:00
    @jsjcjsjc 有用户名和密码不怕检测
    jsjcjsjc
        16
    jsjcjsjc  
    OP
       2016-10-25 16:53:56 +08:00
    @lslqtz 墙是通过路由器的关键词检测的吧?你只是访问的时候需要密码,信息传输经过墙的时候还是明文吧?比如谷歌搜索关键词
    lightening
        17
    lightening  
       2016-10-25 16:58:15 +08:00
    @jsjcjsjc 你 Nginx 里关于 webroot 的配置我怎么没看到?
    fangdingjun
        18
    fangdingjun  
       2016-10-25 17:11:52 +08:00
    在你的 webroot 下放一下 html 文件,你自己测试一下用域名能不能访问
    w99wen
        19
    w99wen  
       2016-10-25 17:29:43 +08:00
    @lightening 反向代理不需要 webroot 吧,我感觉不需要
    我现在已经申请好了 ssl 证书,也弄好了 http->https 的跳转。然而,跳转至后就会出现 css 文件不能加载的问题。
    你可以在 cl.w99wen.tk 上看,账号密码是 whyme 123456
    w99wen
        20
    w99wen  
       2016-10-25 17:31:15 +08:00
    你申请 ssl 证书的时候。不要开着重定向。就把 webroot 放在常用的 html 目录。吧 index 设置下。等 ssl 证书申请下来了你在吧重定向加上去。
    iA7489
        21
    iA7489  
       2016-10-25 17:35:07 +08:00 via iPhone
    无责任推荐 acme.sh 签发证书
    w99wen
        22
    w99wen  
       2016-10-25 17:37:24 +08:00 via iPhone
    @iA7489 警察叔叔,就是他
    chunchu
        23
    chunchu  
       2016-10-25 17:52:18 +08:00
    @w99wen
    有 http 的连接,在 https 下会出现 css 文件不能加载,你需要将 http 部分也代理一下
    lightening
        24
    lightening  
       2016-10-25 17:52:57 +08:00
    @w99wen 看了前面留言,等我回家再看……

    CSS 不能加载,我猜是从 HTTP url load 的?反代的所有 headers 都加上了吗?
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    类似这样
    lslqtz
        25
    lslqtz  
       2016-10-25 18:36:12 +08:00
    @jsjcjsjc 你知道 https 吗。。
    lslqtz
        26
    lslqtz  
       2016-10-25 18:36:46 +08:00
    @jsjcjsjc 不对,当我没说。。
    你申请 ssl 的时候,要改成用地址,不能挂反代
    yidinghe
        27
    yidinghe  
       2016-10-25 18:43:33 +08:00 via Android
    用 root 运行吧,在这之前确保 nginx 配置文件配置好了相应的域名,如果有 alias 的话每个域名都要配置到。
    jsjcjsjc
        28
    jsjcjsjc  
    OP
       2016-10-25 19:04:35 +08:00
    @fangdingjun @lightening @lslqtz @yidinghe
    估计知道原因了~~~
    我的域名虽然指向了 ip ,但是在 nginx 的配置文件里面没有为所有的域名设置 root/www 的路径,所以用 webroot 的话不能验证。。。

    因为我只想做一下 https 的 301 转发。。。。。想这样的,不需要指定 root 的路径。。
    由于域名比较多想把证书都放在一起,以后新加的证书也放在一一个文件下。。。大家有办法吗?

    server
    {
    listen 80;
    server_name airtranst.com www.airtranst.com *.airtranst.com;
    location / {
    rewrite ^/(.*)$ https://airtranst.com$1 permanent;
    }
    }

    server {
    server_name airtranst.com;
    listen 443;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/airtranat.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/airtranat.com/privkey.pem;

    return 301 http://artransat.com$request_uri;
    }
    lightening
        29
    lightening  
       2016-10-25 19:49:29 +08:00
    https://github.com/Neilpang/acme.sh 会把所有证书放在 ~/.acme.sh 下吧
    jsjcjsjc
        30
    jsjcjsjc  
    OP
       2016-10-25 20:37:50 +08:00
    @lightening 这么牛~~~我去试试看
    wangxiaodong
        31
    wangxiaodong  
       2016-10-25 22:04:08 +08:00
    楼上各位,都忘了 Let's Encrypt 是支持 DNS 验证的,根本不需要 webroot 方式。

    服务器什么都不用做,直接到域名商获取 API KEY ,通过 https://github.com/xenolf/lego 开源项目直接 DNS 进行 HTTPS 认证即可。

    lego 的 Docker 容器是: docker pull xenolf/lego

    我网站的所有域名都是通过 lego 的 dns 方式签发的, 大家可以点开我网站的 https 证书进行查看

    最后贴下我的网站 https://congci.com
    jsjcjsjc
        32
    jsjcjsjc  
    OP
       2016-10-25 22:46:05 +08:00
    @wangxiaodong 一个比一个牛~~~
    lightening
        33
    lightening  
       2016-10-26 00:59:34 +08:00
    @wangxiaodong 用 DNS 方式签发时自动 renew 时需要新 token 吧?需要每三个月手工 update DNS ?
    lightening
        34
    lightening  
       2016-10-26 01:01:58 +08:00
    @wangxiaodong 哦,做了各大 DNS 运营商的 api 啊,不错。
    lslqtz
        35
    lslqtz  
       2016-10-26 10:38:44 +08:00
    @jsjcjsjc 求给草榴的代理密码
    jsjcjsjc
        36
    jsjcjsjc  
    OP
       2016-10-26 11:56:43 +08:00
    @lslqtz 啥叫代理密码?
    lslqtz
        37
    lslqtz  
       2016-10-26 13:47:47 +08:00
    @jsjcjsjc 用户名密码
    zhfish
        38
    zhfish  
       2016-10-26 17:45:27 +08:00
    jsjcjsjc
        39
    jsjcjsjc  
    OP
       2016-10-26 19:06:25 +08:00
    @lslqtz 我没有设置啊...
    liyangyijie
        40
    liyangyijie  
       2016-10-27 09:23:53 +08:00
    @w99wen
    server {
    listen 80;
    listen 443 ssl http2;
    add_header Strict-Transport-Security "max-age=63072000; preload";
    server_name xx.ml;
    ssl_certificate /etc/nginx/xx.ml.crt;
    ssl_certificate_key /etc/nginx/xx.ml.key;
    location / {
    proxy_cache cache_one;
    proxy_cache_valid 200 304 3d;
    proxy_cache_key $host$uri$is_args$args;
    proxy_set_header Host www.t66y.com;
    proxy_set_header Accept-Encoding "";
    #insu
    #proxy_pass http://45.64.64.102/;
    #cloudf
    proxy_pass http://104.27.120.116/;
    subs_filter_types text/css text/xml text/Javascript;
    subs_filter http://www.viidii.info https://xx.ml/css;
    subs_filter www.t66y.com xx.ml;
    #替换 dmm 图片
    subs_filter http://p.dmm.co.jp http://202.6.244.170;
    subs_filter http://pics.dmm.co.jp http://202.6.244.170;
    subs_filter http://image.news.dmm.co.jp http://103.254.144.37;
    sub_filter_once off;
    proxy_redirect http://www.t66y.com/ /;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    }
    location /css {
    proxy_pass http://www.viidii.info/;
    proxy_set_header Accept-Encoding "";
    }
    }

    可登录 css 完整
    violet007
        41
    violet007  
       2016-11-28 18:07:40 +08:00
    我们域名 www.XX.com 做了 CDN 加速了,申请过证书之后, https://www.XX.com 不能访问, https://XX.com 是可以正常访问的,为什么? CDN 加速会影响到这个证书吗?测试的着急用,在线等,各位大哥,帮帮忙
    violet007
        42
    violet007  
       2016-11-29 11:27:31 +08:00
    已经解决,被 CDN 厂商拦截,要收费的。没事了
    @violet007
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5219 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 01:13 PVG 09:13 LAX 18:13 JFK 21:13
    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