标签: lets-encrypt

为邮件服务器使用 Let's Encrypt 证书

我目前有一个免费的 StartSSL 证书用于我的邮件服务器(postfix/dovecot)。当然,它工作正常,但 Let's Encrypt 证书使用起来更容易、更快捷。我的 Apache 服务器也使用 Let's Encrypt 证书。

那么,如果我决定为我的服务器使用 Let's Encrypt 证书,其他邮件服务器会拒绝我的电子邮件吗?Let's Encrypt 证书在邮件世界有多少被接受?

我知道每个最近的网络浏览器都接受 Let's Encrypt 证书。因此,Let's Encrypt 证书适用于网络。除非用户使用 Windows XP 并使用当时的通用浏览器,否则 Web 将在没有浏览器诊断的情况下正确显示。

但是邮件服务器呢?有没有人有让我们加密邮件证书的经验?具体来说,我关心的不是像 Gmail、Yahoo 或 Hotmail 这样的大公司,而是其他公司的其他私人服务器,它们可能不接受我的证书。

注意我还担心旧邮件客户端,如 Outlook 2007(我的一些客户还在使用它们,甚至 Outlook Express)和智能手机(iPhone 或 Android)。

ON -TOPIC EXTRA问题确实Microsoft产品委托证书管理的OS或其他微软产品?因为如果我没记错的话,至少在 Outlook 2003 和/或 2007 上,证书管理由 IE 浏览器负责;如果我也记得很清楚,在像 Firefox 这样的浏览器上安装用户证书,也有效地在操作系统本身上安装了证书(因为我认为它在系统范围内可用)。所以,如果我是对的,即使我的客户有一个旧的邮件客户端,证书也必须被自动接受(猜测他肯定有一个接受让我们加密 CA 的现代网络浏览器),因为来自 Chrome 的根 CA 或Firefox 在系统范围内可用。

简而言之:我应该冒险为我的邮件服务器转移到 Let's Encrypt 还是我至少再等一年。

email-server postfix lets-encrypt

4
推荐指数
1
解决办法
4171
查看次数

让我们通过 SSL 重定向在 nginx 上使用 webroot 进行加密

我有一个nginx符合以下要求的网站:

  1. 重定向所有 http -> https
  2. 零停机时间 Let's Encrypt 证书更新

为了满足(1)我的配置中有一个小的 http->https 重定向nginx。为了满足 (2) 我需要修改上述配置,以便我可以使用 webroot Let's Encrypt 身份验证方法。

我试图找出满足这两个要求的最佳解决方案。我想出了以下方法,这很有效。

前:

server {
    listen 80;
    server_name example.com;
    return 301 https://example.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

后:

server {
    listen 80;
    server_name example.com;
    location ~ /\.well-known\/acme-challenge {
        root /usr/share/nginx/html;
        allow all;
    }
    if ($request_uri !~ /\.well-known) {
        return 301 https://example.com$request_uri;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望找到另一种方法。原因如下:

  1. 如果是邪恶的。在这种情况下可能不是什么大问题,因为这只是 http->https 重定向,应该是非常低的流量。

  2. 更重要的是,避免if将更容易将 webroot 身份验证绑定到我后面运行的所有站点,nginx因为我可以将该location指令放入 a 中.conf,然后我可以在我所有的 …

nginx lets-encrypt

4
推荐指数
1
解决办法
1430
查看次数

apache 2.4 + gitlab +letsencrypt 不工作

我使用以下配置在所有虚拟主机上启用 letencrypt 支持:

ProxyPass /.well-known/acme-challenge !

Alias /.well-known/acme-challenge/ /var/www/letsencrypt/.well-known/acme-challenge/

<Directory "/var/www/letsencrypt/.well-known/acme-challenge/">
    Options None
    AllowOverride None
    ForceType text/plain
    RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)" 
</Directory>
Run Code Online (Sandbox Code Playgroud)

这适用于除 gitlab 之外的所有主机(主要是 php 或静态站点)

我正在使用这个配置:https : //github.com/gitlabhq/gitlab-recipes/blob/master/web-server/apache/gitlab-ssl-apache24.conf

我的猜测是这个配置部分有问题:

<Location />
    # New authorization commands for apache 2.4 and up
    # http://httpd.apache.org/docs/2.4/upgrading.html#access
    Require all granted

    #Allow forwarding to gitlab-workhorse
    ProxyPassReverse http://127.0.0.1:8181
    ProxyPassReverse http://YOUR_SERVER_FQDN/
  </Location>
Run Code Online (Sandbox Code Playgroud)

但解决这个问题的最佳方法是什么?

apache-2.4 lets-encrypt

4
推荐指数
1
解决办法
1645
查看次数

Letsencrypt 更新获取 - 远程错误:tls:握手失败

我正在尝试更新我的 Letencrypt 证书并收到以下错误:

远程错误:tls:握手失败

我该如何解决?

ssl nginx lets-encrypt

4
推荐指数
1
解决办法
2935
查看次数

命名不提供 letencrypt TXT 记录

我正在尝试使用 DNS 身份验证更新/创建 letencrypt 证书:

certbot-auto -d xxx.it -d mail.xxx.it --manual --preferred-challenges dns certonly
Run Code Online (Sandbox Code Playgroud)

但是,在插入请求的记录后:

Please deploy a DNS TXT record under the name
_acme-challenge.mail.xxx.it with the following value:

yB_EQ-wiB0NzNUVwiyfiabeIOqIXx3fWKiia1uHGesE

Before continuing, verify the record is deployed.
Run Code Online (Sandbox Code Playgroud)

挑战失败。

确实,如果我尝试:

$ dig_acme-challenge.mail.xxx.it TXT
Run Code Online (Sandbox Code Playgroud)

尽管区域文件包含记录,但请求也会失败:

 # fgrep TXT /var/named/chroot/var/named/master/xxx.it
 acme-challenge.mail.xxx.it IN  TXT     "yB_EQ-wiB0NzNUVwiyfiabeIOqIXx3fWKiia1uHGesE"
Run Code Online (Sandbox Code Playgroud)

我假设 BIND (bind-9.8.2-0.62.rc1.el6_9.4.x86_64) 以某种方式拒绝提供带有前导下划线的记录,但文档/谷歌没有帮助。

有任何想法吗?

编辑正如下面的答案所指出的,区域记录中的主机部分需要有一个尾随点或将域部分剥离。照顾好你复制和粘贴。

bind lets-encrypt

4
推荐指数
1
解决办法
7710
查看次数

让我们加密:更新 vs 新的,或者:为什么更新

可能是一个愚蠢的问题,但是:更新 Let's encrypt 证书和获得新证书之间的区别在哪里?

此问题的相关问题和背景:我是否需要保留来自 certbot 的帐户数据?只要我可以验证我的域,我就会获得一个新证书。

我错过了什么?

lets-encrypt certbot

4
推荐指数
1
解决办法
487
查看次数

安装 certbot - 错误 - “没有提供 pyparsing”

我正在尝试通过命令在我的 Amazon ec2 RHEL nginx 服务器上设置让我们加密,$ sudo yum install certbot-nginx但它一直失败:

$ sudo yum install certbot-nginx
Last metadata expiration check: 2:58:11 ago on Sat 17 Aug 2019 11:29:45 PM UTC.
Error:
 Problem: conflicting requests
  - nothing provides pyparsing needed by python2-certbot-nginx-0.36.0-1.el7.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
Run Code Online (Sandbox Code Playgroud)

在网上做了一些绊脚石之后,我安装了各种 python 和 pip 包(完整列表如下)。知道我可能会错过什么吗?

这是我的操作系统详细信息,然后是安装的 python 和 pip 包...

$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.0 (Ootpa)"
ID="rhel"
ID_LIKE="fedora" …
Run Code Online (Sandbox Code Playgroud)

redhat python pip lets-encrypt certbot

4
推荐指数
1
解决办法
1122
查看次数

将 certbot/letsencrypt 证书迁移到新服务器

我有一台使用 certbot/letsencrypt 证书支持 HTTPS 的服务器。

我正在进行一般软件升级,以便最大限度地减少风险和停机时间,我在新服务器上安装新版本,并在其中导入实时服务器数据进行测试。当一切正常后,我将更改 DNS 记录以指向新服务器。

我的问题是我应该怎么办证书?我可以复制现有的并在必要时更新它吗?或者证书是否会不兼容和/或 LE 会抱怨地址在自动续订过程中已更改?LE 对反向 DNS 是否敏感(反向 DNS 工作可能需要更多延迟)。难道还有什么问题是我没有想到的吗?

lets-encrypt certbot

4
推荐指数
1
解决办法
4497
查看次数

自定义端口(Nginx 或 apache)上的 Certbot (LetsEncrypt)

我发现了很多类似的问题,人们询问如何在不同端口(80/443 除外)上设置 SSL,即1234端口。然而,所有答案都是类似use redirectionproxying requestsdns-validation (instead of http)使用替代方法然而,你在 StackExchange 中找不到任何一个答案 ,我的意思是对于新手来说一步一步,如何做到这一点。

但是,请注意,重定向不是解决方案,因为在 80/443 上,一个人可能有一个常规网站,但在 1234 端口上有一个完全不同的应用程序。那么,仅仅从1234到 的“重定向”80就会弄乱网站,对吗?

ssl nginx lets-encrypt certbot

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

Cloudflare 现在使用 Let's Encrypt 证书进行边缘计算吗?

我刚刚向 cloudflare 添加了一个新域,边缘证书是 Let's encrypt r3,显示在控制面板中,并在域的网站上通过浏览器进行检查。

我现有的域名仍然具有常规的 1 年期证书。不知道过期后他们是否会切换到让我们加密。

还有其他人注意到吗?

cloudflare lets-encrypt

4
推荐指数
1
解决办法
6404
查看次数