首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Letsencrypt + Cloudflare设置

Letsencrypt + Cloudflare设置
EN

Server Fault用户
提问于 2017-05-25 23:44:29
回答 1查看 3.7K关注 0票数 -1

我从事许多附带项目,并试图为每个项目设置https。因为我付不起证书,所以我用字母加密。我也使用云照明,以防我得到交通尖峰。我从获得一个带有Letsencrypt的SSL证书开始,然后将Cloudflare放在前面。

问题是,当更新Letsencrypt证书的时候,我必须每次关闭Cloudflare,因为它现在看到的IP是不同的(Cloudflare的IP而不是我的服务器的IP)。

我知道Cloudflare免费提供SSL,只要它与我的服务器有https连接,就可以了,所以从技术上讲,我根本不需要更新我的SSL证书。但是我想更新我的服务器的SSL证书,这样我就可以灵活地在任何时候关闭Cloudflare,并且仍然处于运行状态,并且有一个有效的证书。

我在我的过程中做错什么了吗?是否有一个选项,我可以用在让加密更新更好地处理这个问题,而不是必须登录到Cloudflare关闭它,等待几分钟,运行更新,然后再次打开Cloudflare,每两个月?

由于一些原因,编辑被否决了,可能是因为我没有在我的设置中包含错误消息。这就是了。

代码语言:javascript
复制
-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/[mydomain].com.conf
-------------------------------------------------------------------------------
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for [mydomain].com
Waiting for verification...
Cleaning up challenges
Attempting to renew cert from /etc/letsencrypt/renewal/[mydomain].com.conf produced an unexpected error: Failed authorization procedure. [mydomain].com (tls-sni-01): urn:acme:error:tls :: The server experienced a TLS error during domain verification :: Failed to connect to 104.18.55.209:443 for tls-sni-01 challenge. Skipping.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: [mydomain].com
   Type:   tls
   Detail: Failed to connect to 104.18.55.209:443 for tls-sni-01
   challenge

显然,104.18.55.209是Cloudflare IP。它无法在挑战中连接到它。

编辑2蒂姆说要给CloudFlare页面规则和我的域名。我的域是memechicken.com,我的CF页面规则只是空的。一切都是默认设置。最后,这里是我的Crypto选项卡设置,应该是相关的:

一切都是默认的。我什么都没改变。

EN

回答 1

Server Fault用户

发布于 2017-05-26 03:43:57

我使用的是加密和CloudFlare。我的证书自动更新与CloudFlare活动和工作。我使用Acmetool,因为Certbot在2015年试用时,在Amazon上没有很好地工作。

据我所知,服务器IP与此无关。让我们用域名加密您的服务器。如果传统的证书有1:1的映射域到证书,那么可能会出现问题(我从未尝试过,所以我不知道),但LE没有问题。

我有一篇关于设置让我们用云耀斑加密的文章,您可能会发现这篇文章很有趣或很有用。

这里更新我的Nginx配置,允许我们通过http进行加密,将其他所有内容转发给https。您将能够在Apache中执行类似的操作,但我不知道如何实现。

代码语言:javascript
复制
# Redirect all variations to https://www domain
server {
  listen 80;
  server_name example.com www.example.com;

  # Let's Encrypt certificates with Acmetool
  location /.well-known/acme-challenge/ {
    alias /var/www/.well-known/acme-challenge/;
  }

  location / {
    return 301 https://www.photographerstechsupport.com$request_uri;
  }
}
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/852320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档