技术解析

Let's Encrypt 使用 webroot 方式签发证书一直失败?
0
2021-05-20 20:32:34
idczone

./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.getpoc抗投诉服务器ket.net ?尝试一下 standalone 是可以的,所以应该是 nginx 的 root 位置我搞错了?

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


Could not connect 是你 Nginx 没起来吧?
(另外也可以试试 acme.sh 。

你是不是占着 80 端口呢?得先把 nginx 停了吧!

webroot 是不需要停用端口的,而且我停用了也没用~~
只有 standalone 是可以的

这个网站是什么鬼,上班的时候不要打开啊。。。

楼主过分了。这网站什么鬼。

老司机

https://github.com/diafygi/acme-tiny 签发即可,完全不需要关站

新的开车方式么…

大家不要转移注意力

我就是想把多个域名的证书放在一起文件下,后面新增的也在更新到同一个文件里~

能给个 nginx 反代规则不。 thx


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;
}
}

你看下这个地方。把你那个网站加个用户名密码吧。 http://www.oschina.net/question/733503_146265

我关键是怕墙的检测~~

有用户名和密码不怕检测

墙是通过路由器的关键词检测的吧?你只是访问的时候需要密码,信息传输经过墙的时候还是明文吧?比如谷歌搜索关键词

你 Nginx 里关于 webroot 的配置我怎么没看到?

在你的 webroot 下放一下 html 文件,你自己测试一下用域名能不能访问

反向代理不需要 webroot 吧,我感觉不需要
我现在已经申请好了 ssl 证书,也弄好了 http->https 的跳转。然而,跳转至后就会出现 css 文件不能加载的问题。
你可以在 cl.w99wen.tk 上看,账号密码是 whyme 123456

你申请 ssl 证书的时候。不要开着重定向。就把 webroot 放在常用的 html 目录。吧 index 设置下。等 ssl 证书申请下来了你在吧重定向加上去。

无责任推荐 acme.sh 签发证书

警察叔叔,就是他


有 http 的连接,在 https 下会出现 css 文件不能加载,你需要将 http 部分也代理一下

看了前面留言,等我回家再看……
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;
类似这样

你知道 https 吗。。

不对,当我没说。。
你申请 ssl 的时候,要改成用地址,不能挂反代

用 root 运行吧,在这之前确保 nginx 配置文件配置好了相应的域名,如果有 alias 的话每个域名都要配置到。


估计知道原因了~~~
我的域名虽然指向了 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;
}

https://github.com/Neilpang/acme.sh 会把所有证书放在 ~/.acme.sh 下吧

这么牛~~~我去试试看

楼上各位,都忘了 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

一个比一个牛~~~

用 DNS 方式签发时自动 renew 时需要新 token 吧?需要每三个月手工 update DNS ?

哦,做了各大 DNS 运营商的 api 啊,不错。

求给草榴的代理密码

啥叫代理密码?

用户名密码

dns 方式走你。。
https://github.com/xdtianyu/scripts/tree/master/le-dns

我没有设置啊...


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 "";
/>http://45.64.64.102/;
/>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 完整

我们域名 www.XX.com 做了 CDN 加速了,申请过证书之后, https://www.XX.com 不能访问, https://XX.com 是可以正常访问的,为什么? CDN 加速会影响到这个证书吗?测试的着急用,在线等,各位大哥,帮帮忙

已经解决,被 CDN 厂商拦截,要收费的。没事了
@violet007

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服