前言

我们知道,Nginx Proxy Manager 反代域名使用 HTTPS,需要 SSL 证书,我们可以用 NPM 的一键申请证书,但这样每个域名都需要单独申请,太麻烦了。这里介绍一种申请泛域名的 SSL 证书,一级域名、二级域名都共用一个证书,省时省事。

验证方式

NPM 中 Let’s Encrypt 证书申请有两种验证方式:一种是基于 HTTP 的验证方式,另一种是基于 DNS 的验证方式。

HTTP-01 验证

关于 HTTP-01 验证的详细描述可以看官方文档

这种方式最简单,不需要任何关于域名配置的额外知识,但是必须使用 80 端口,绝大部分人可能用不了,所以这里就不说了。

DNS-01 验证

关于 DNS-01 验证的详细描述可以看官方文档

此验证方式要求您在该域名下的 TXT 记录中放置特定值来证明您控制域名的 DNS 系统,这需要您的 DNS 提供商提供 API。

申请 SSL 证书

进入 NPM,点击SSL Certificates - Add SSL Certificate - Let's Encrypt,输入以下配置:

Domain Names:输入一级域名和泛域名,example.com 和 *.example.com
Email Address for Let's Encrypt:选择 Cloudflare 登录邮箱;

点击 Use a DNS Challenge 使用 DNS 申请,DNS Provider 选择 Cloudflare,下一步就是申请 Cloudflare API Token,可以先往下看。

img

点击“I Agree to the Let’s Encrypt Terms of Service”,然后点击“Save”,就会自动申请 SSL 证书了。

申请 Cloudflare API Token

打开 Cloudflare 官网并登录账号,在页面右上角的个人头像下拉菜单中点击“我的个人资料”。切换到“API 令牌”,点击“创建令牌”;

img

在 “API 令牌模板”中选择“编辑区域 DNS”后面的“使用模板”;

img

进入模板之后选择需要控制的域名之后下一步并创建令牌;

img

此时已经添加了令牌权限并生成了令牌,把生成结果填入 NPM 的dns_cloudflare_api_token即可。

img

最后一行可以看到 SSL 证书已经申请完成,有效期3个月,到期会自动续期。


©2018 - Felicx 使用 Stellar 创建
总访问 113701 次 | 本页访问 326
共发表 83 篇Blog · 总计 127.5k 字