标签: lets-encrypt

如何使用 Let's Encrypt DNS 质询验证?

Let's Encrypt宣布他们有:

开启对 ACME DNS 挑战的支持

如何./letsencrypt-auto使用 DNS 质询域验证生成新证书?

编辑
我的意思是:如何http/https通过使用新宣布的功能 (2015-01-20) 来避免端口绑定,该功能可让您通过在目标域的 DNS 区域中添加特定 TXT 记录来证明域所有权?

lets-encrypt

211
推荐指数
4
解决办法
42万
查看次数

让我们加密更新的 Cron 作业

这是在 Apache2 中设置cron以更新 Let's Encrypt 证书的正确方法吗?我使用 Ubuntu 16.04。

@monthly letsencrypt renew && service apache2 reload
Run Code Online (Sandbox Code Playgroud)

cron lets-encrypt

126
推荐指数
8
解决办法
24万
查看次数

让我们使用 nginx 反向代理进行加密

介绍

我有一个开发服务器(目前运行 Ubuntu 14.04 LTS),我已经使用了一段时间来在不同端口上托管各种开发工具。因为端口很难记住,所以我决定将端口 80 用于我的所有服务,并根据主机名在内部进行端口转发。

而不是写 domain.com:5432,我可以简单地通过 sub.domain.com 访问它

例如,使用端口 7547 并在 sub.domain.com 上运行的应用程序 X 具有以下 nginx 配置:

upstream sub {
    server 127.0.0.1:7547;
}

server {
    listen 80;
    server_name sub.domain.com www.sub.domain.com;
    access_log /var/log/nginx/sub.log combined;
    location / {
            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_pass http://127.0.0.1:7547;
            proxy_set_header Authorization "";
    }
}
Run Code Online (Sandbox Code Playgroud)

问题

鉴于我选择的当前配置结构,是否可以使用 letencrypt 并在 https 下运行不同的服务?

nginx https jira lets-encrypt

53
推荐指数
1
解决办法
8万
查看次数

SSL & Ngnix:在 SSL 握手时监听 SSL 端口的服务器中没有定义“ssl_certificate”

我已经成功地使用 LE 创建了我的证书,没有错误,我还设法将我的流量从端口 80 重定向到端口 443。但是当我重新加载我的 nginx 服务器时,我无法访问我的网站。Ngnix 错误日志显示这一行:

4 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 192.168.0.104, server: 0.0.0.0:443
Run Code Online (Sandbox Code Playgroud)

我认为这意味着它找不到我然后导航到证书路径的证书,它们都在那里,可能是什么问题?这是我的 Ngnix 配置的样子:

server {
       listen         80;
       server_name    pumaportal.com www.pumaportal.com;
       return         301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;

    server_name pumaportal.com www.pumaportal.com;

    add_header Strict-Transport-Security "max-age=31536000";

    ssl_certificate /etc/letsencrypt/live/pumaportal.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/pumaportal.com/privkey.pem;

    ssl_stapling on;
    ssl_stapling_verify on;

    access_log /var/log/nginx/sub.log combined;

    location /.well-known {
       alias /[MY PATH]/.well-known;
    }

    location / {
        proxy_pass http://localhost:2000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; …
Run Code Online (Sandbox Code Playgroud)

ssl nginx lets-encrypt

31
推荐指数
3
解决办法
6万
查看次数

Nginx 禁用 .htaccess 和隐藏文件但允许 .well-known 目录

我有一个 Nginx 服务器,并禁用了隐藏文件 nginx_vhost.conf

## Disable .htaccess and other hidden files
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
Run Code Online (Sandbox Code Playgroud)

但是 LetsEncrypt 需要访问该 .well-known目录。

如何允许.well-known目录并拒绝其他隐藏文件?

nginx virtualhost lets-encrypt

24
推荐指数
3
解决办法
4万
查看次数

Debian 9 上的客户端错误地报告 LetsEncrypt 颁发的域证书已过期

如果我尝试访问具有 certbot 颁发的 debian 9 证书的 HTTPS 服务器,则会收到以下错误:

 # curl -v https://hu.dbpedia.org/
 *   Trying 195.111.2.82...
 * TCP_NODELAY set
 * Connected to hu.dbpedia.org (195.111.2.82) port 443      (#0)
 * ALPN, offering h2
 * ALPN, offering http/1.1
 * Cipher selection:      ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
 * successfully set certificate verify locations:
 *   CAfile: /etc/ssl/certs/ca-certificates.crt
   CApath: /etc/ssl/certs
 * TLSv1.2 (OUT), TLS header, Certificate Status (22):
 * TLSv1.2 (OUT), TLS handshake, Client hello (1):
 * TLSv1.2 (IN), TLS handshake, Server hello (2):
 * TLSv1.2 (IN), TLS handshake, Certificate (11): …
Run Code Online (Sandbox Code Playgroud)

debian ssl-certificate lets-encrypt debian-stretch

23
推荐指数
4
解决办法
2万
查看次数

如何更改让我们加密的管理员电子邮件?

我们开始使用 let's encrypt 时用作管理员电子邮件的电子邮件地址需要修改(一名前员工使用他的个人电子邮件地址作为管理员电子邮件,他不再在公司工作)。需要采取哪些步骤来进行修改(我们可以让前员工确认这一点)。我们需要删除他的个人电子邮件地址并将其替换为新的电子邮件地址。这将用于密钥恢复操作。无论哪种情况,我都希望删除前员工的个人电子邮件地址。我需要采取哪些步骤来完成此操作(如果我对流程的理解不正确,请指出正确的方向)。提前致谢。

lets-encrypt

22
推荐指数
5
解决办法
3万
查看次数

将所有请求重定向到 HTTPS,除了一个子目录

我正在尝试从我的 nginx 网络服务器上的自签名证书转移到 Let's Encrypt 证书。

目前,我将所有请求重定向http/80https/443,它使用我不久前创建的自签名证书。

现在 - 据我所知,Let's Encrypt 向端口 80 发出请求(因为我正在使用 的webroot选项certbot)。这些请求被重定向,导致证书生成失败。

我尝试使用以下服务器块来实现这一点,监听端口 80:

server {
        listen  80;     
        server_name     sub.domain.tld;
        server_tokens   off;


        location /.well-known {
                root /var/www/letsencrypt;
        }

        location / {
                return 301 https://$host$request_uri;
        }
}
Run Code Online (Sandbox Code Playgroud)

但是无论如何/.well-known都将请求重定向到https/443

我如何可以重定向所有的请求来自http/80https/443,除了要求/.well-known/

http nginx https redirect lets-encrypt

18
推荐指数
1
解决办法
8601
查看次数

Let's Encrypt 如何通过不安全的 http 验证身份?

我刚开始使用 Let's Encrypt。http-01-challenge 很简单:

奇迹般有效。但是他们如何使用不安全的 http 连接确保我确实是 example.com 的所有者?

我的数据中心(或我的 ISP)中的某些管理员不能只请求证书并拦截 http 请求,让我们 Enrypt 发送以检查服务器的身份吗?

lets-encrypt

18
推荐指数
2
解决办法
3947
查看次数

为什么不通过 DNS 记录而不是 letencrypt 来验证自签名证书

我只是想知道。我们使用了很多 SSL 证书。如今,我们几乎只使用letsencrypt(谢谢!)。这些证书的底线是,证书上域名的所有权证明来自操纵这些域下的 DNS 记录或网站的权力。DNS 证明来自向 DNS 添加一些密钥(由letsencrypt 提供)作为 TXT 记录。

那么,如果足以证明能够更改域的 DNS 记录,为什么不使用带有 DNS 指纹的自签名证书呢?

我会说这与基于 DNS 的 letencrypt(和其他 CA)过程完全相同的信任度:

  1. 创建一个自签名 CA(只需按照各种操作方法的步骤操作即可)
  2. 为某些域创建证书
  3. 使用步骤 1 中的 CA 对步骤 2 中的证书进行签名。您现在拥有一个基本证书,由不受信任的 CA 签名
  4. 将 TXT(或专用)记录添加到每个域的 DNS,声明:我们使用此 CA 签署了该域的证书。像:'CA=-CA-的指尖'
  5. 浏览器下载证书并通过将 CA/CA 证书的指纹与给定域的 DNS 中的数据进行比较来验证它。

这将使创建不受第三方干扰的可信自签名证书成为可能,与任何基本 SSL 证书的信任级别相同。只要您可以访问 DNS,您的证书就是有效的。甚至可以添加一些 DNSSEC 之类的加密,从 CA 和 SOA 记录中生成散列,以确保信任在 DNS 记录中的更改时消失。

以前有没有考虑过这个问题?

杰尔默

domain-name-system ssl certificate-authority self-signed-certificate lets-encrypt

17
推荐指数
2
解决办法
2780
查看次数