标签: lets-encrypt

有效证书上的 Rails SSL 证书错误

我有一个小型 Rails 应用程序,可以在我们的平台上执行各种检查,并在出现问题时向我发送电子邮件。一切都运行良好,直到今天我开始收到有关以下错误的警报:

SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate has expired)
Run Code Online (Sandbox Code Playgroud)

现在的问题是,有问题的证书是有效的,它会自动更新(让我们加密),并且此代码已经好几年没有被修改过,之前从未出现过任何问题,突然之间就开始发生这种情况。

抛出异常的代码:

def get_request url
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  #more than 10 seconds this is too slow
  http.open_timeout = 10
  http.read_timeout = 10

  request = Net::HTTP::Get.new(uri.request_uri)
  response = http.request(request)

  if response.code.to_i == 200
    return true
  else
    puts "Failed to GET #{url}: #{response.code.to_i}"
    return false
  end
end
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中打开该站点,它会显示安全连接,没有问题,并显示正在使用有效的证书,此外,如果我检查,certbot我会得到以下信息:Expiry Date: 2021-11-22 17:48:58+00:00 (VALID: 52 days)很明显,证书是有效的,为什么 Rails 突然发脾气它?

请注意,我已经重新启动了 Nginx,以防万一,但这没有帮助。 …

openssl ruby-on-rails lets-encrypt

5
推荐指数
1
解决办法
2796
查看次数

GitLab SSL 证书错误:不存在帐户

我正在尝试设置一个自托管的 GitLab 实例,除了尝试使用 Let's encrypt 创建 https 连接时,一切正常。尝试重新配置 GitLab 实例时出现以下错误:

There was an error running gitlab-ctl reconfigure:

letsencrypt_certificate[gitlab.***.org] (letsencrypt::http_authorization line 6) had an error: Acme::Client::Error::AccountDoesNotExist: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 41) had an error: Acme::Client::Error::AccountDoesNotExist: No account exists with the provided key
Run Code Online (Sandbox Code Playgroud)

我的 external_url=https://gitlab.***.org,在我的网络上,我为端口 :80 和 :443 设置了端口转发。我还将 DNS 设置为我的 IP,这是因为在不安全的情况下可以访问该站点。

希望有人认识到这个错误,我查了一下,没有看到它在任何地方弹出。

此致

ssl gitlab lets-encrypt

5
推荐指数
1
解决办法
2553
查看次数

SSL_connect 返回=1 errno=0 状态=错误:在 ruby​​ 和 Ubuntu 14.04 中证书验证失败

我有一个与第三方网络服务集成的 Rails 应用程序。自最初开发以来,它多年来一直运行良好。由于某种意想不到的原因,它突然停止工作了。我想说我们还没有改变代码中的任何内容。唯一可以与之相关的是我们的 Letscrypt SSL 证书已过期并且我们更新了它。

\n

事实是 I\xc2\xb4m 在调用 Web 服务请求时收到此错误:

\n
E, [2022-02-17T19:53:25.385435 #32501] ERROR -- : SSL_connect returned=1 errno=0 state=error: certificate verify failed\nE, [2022-02-17T19:53:25.385876 #32501] ERROR -- : /Users/Rober/.rvm/gems/ruby-2.4.9/gems/httpi-2.4.4/lib/httpi/adapter/httpclient.rb:28:in `rescue in request\'\nE, [2022-02-17T19:53:25.386103 #32501] ERROR -- : /Users/Rober/.rvm/gems/ruby-2.4.9/gems/httpi-2.4.4/lib/httpi/adapter/httpclient.rb:24:in `request\'\nE, [2022-02-17T19:53:25.386358 #32501] ERROR -- : /Users/Rober/.rvm/gems/ruby-2.4.9/gems/httpi-2.4.4/lib/httpi.rb:161:in `request\'\nE, [2022-02-17T19:53:25.386658 #32501] ERROR -- : /Users/Rober/.rvm/gems/ruby-2.4.9/gems/httpi-2.4.4/lib/httpi.rb:127:in `get\'\nE, [2022-02-17T19:53:25.386909 #32501] ERROR -- : /Users/Rober/.rvm/gems/ruby-2.4.9/gems/wasabi-3.5.0/lib/wasabi/resolver.rb:43:in `load_from_remote\'\nE, [2022-02-17T19:53:25.387150 #32501] ERROR -- : /Users/Rober/.rvm/gems/ruby-2.4.9/gems/wasabi-3.5.0/lib/wasabi/resolver.rb:33:in `resolve\'\nE, [2022-02-17T19:53:25.387349 #32501] ERROR -- : /Users/Rober/.rvm/gems/ruby-2.4.9/gems/wasabi-3.5.0/lib/wasabi/document.rb:142:in `xml\'\nE, [2022-02-17T19:53:25.387606 #32501] ERROR …
Run Code Online (Sandbox Code Playgroud)

ruby openssl ubuntu-14.04 lets-encrypt

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

LetsEncrypt SSL 证书可以用于现有主机名吗?

我正在尝试找出如何在不中断用户/客户的情况下将网站/服务器从 digitalocean Droplet 迁移到 Azure (AKS)。

digitalocean 配置具有由 letencrypt (通过 serverpilot 管理)为主机名提供的 SSL 证书foo.example.com

在新配置中:

  • ClusterIssuer已安装 ( cert-manager.io/v1)
  • 自动为入口资源颁发 SSL 证书工作正常

我不确定的是,当 digitalocean Droplet 中已经向同一主机颁发了证书时,我是否能够(间接通过 AKSClusterIssuer中)为现有主机名 ( ) 请求新证书?foo.example.com

我的直觉告诉我不,因为要进行完全的敌意接管,所需要做的就是掌握我们的 DNS 配置并为域设置证书......我正在尝试找出一种方法来测试/验证这一点,但对此的任何智慧都非常感激。

azure ssl-certificate lets-encrypt azure-aks

5
推荐指数
1
解决办法
278
查看次数

Nginx 代理管理器服务器的 SSL 可访问性测试失败

我的域名来自domains.google.com. 假设它是mydomainname.com

我将 DNS 设置为我想要的 IP 地址。在我的路由器上,我将端口转发80到我的计算机80443我的计算机的443. 为了确认它是公开可用的,我使用了不同的连接和设备,并且可以mydomainname.com毫无问题地访问。

然后我使用了他们网站docker-compose.yml中描述的文件。

当前latest指向v2.9.18

version: '3'

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data/:/data
      - ./letsencrypt:/etc/letsencrypt
Run Code Online (Sandbox Code Playgroud)

现在,在 SSL 证书选项卡上,添加 SSL 证书时,测试服务器可访问性始终失败,并出现以下错误:

mydomainname.com: There is no server available at this domain.
Please make sure your domain exists and points to the IP where your NPM
instance is running …
Run Code Online (Sandbox Code Playgroud)

ssl nginx docker-compose lets-encrypt nginx-reverse-proxy

5
推荐指数
0
解决办法
3013
查看次数

使用 CertManager、HTTP01 挑战和 Let's Encrypt ClusterIssuer 从 Ingress 到 IngressRoute

我有一个运行cert-manager1.11.0 和Traefik2.9.6 的 Kubernetes (v1.25.2) 集群。对于某些服务,我想Let's Encrypt自动签署证书。出于某种原因,使用IngressRoute而不是感觉更好Ingress。我只是无法让 IngressRoute 创建证书。
现在,我有一个ClusterIssuer

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: my@email.com
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
      - http01:
          ingress:
            class: traefik
Run Code Online (Sandbox Code Playgroud)

并且,工作,对应Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myapp-name-websecure
  annotations:
   cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
  ingressClassName: traefik
  rules:
    - host: my.host.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: linkingservice
                port:
                  number: 80
  tls:
    - …
Run Code Online (Sandbox Code Playgroud)

lets-encrypt traefik cert-manager ingress-route

5
推荐指数
1
解决办法
2808
查看次数

更改Lets Encrypt SSL证书的基本域名

我使用了“让我们加密”功能来允许我在服务器上设置SSL / HTTPS。

问题是我也运行了许多子域,这些都包括在初始安装中,但是现在回头看看-证书详细信息显示它是颁发给我的一个子域的。

我想将其更改为我的基本域,但是我不确定如何执行此操作。

我试过跑步 letsencrypt-auto --apache -d example.me -d www.example.me -d mysql.example.me

该过程已完成,但未更改任何内容,因为证书已经颁发。

我现在如何更改证书,或重新颁发证书,以便将其发布到我的基本域?

apache ssl ssl-certificate lets-encrypt

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

Letsencrypt certbot-nginx插件。它是如何工作的?

我成功使用certbot-nginx插件。

我知道是开源的,托管在github上。

但是我没有足够的技能来分析此代码。

例如:

我有几个由nginx代理的内部站点。所有virtualhost配置均具有以下匿名访问限制:

allow 192.168.1.0/24;
allow 192.168.0.0/24;
allow 10.88.0.0/16;
allow 127.0.0.1;
# gate1.example.com
allow X.X.X.X;
# gate2.example.com
allow X.X.X.X;
# other gate's
# .......
deny all;
Run Code Online (Sandbox Code Playgroud)

此访问限制禁止letencrypt服务器以及所有其他未定义的主机。

但是certbot renew --nginx正常执行证书更新。

它是如何工作的 ?

是否安全?

nginx lets-encrypt certbot

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

我们在Firefox上加密不受信任的证书

我刚刚使用letsencrypt-win-simple.V1.9.1在IIS 8(Windows Server 2012)中添加了证书.Google Chrome中没有问题,但在Firefox中,连接不受信任.

我遵循了这个教程:https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows#TheEasyWay : LetsEncrypt-Win-Simple.

在此输入图像描述

firefox ssl-certificate iis-8 windows-server-2012-r2 lets-encrypt

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

让我们进行加密:如何手动测试certbot续订过程?

我有一个有效的设置,其中,我们使用certbot生成“ 让我们加密”证书。我想知道您如何有效地测试更新是否可以在生产中使用。

证书有效期为90天。有没有一种方法可以将使用寿命缩短到例如10分钟,以查看更新是否有效?(为此,可以使用登台系统。)

如果您有另一种方法来确保续订代码有效(不必等待90天),也将不胜感激。

manual-testing lets-encrypt certbot

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