有些网站可以自定义域名,输入一个自己的域名,配置一个 cname,然后就可以访问了,这没什么。 关键他可以自动 https 这是怎么做的?
是不是自动申请了一个免费证书,自动帮你应用上去了,有什么 API 接口可以获取免费证书吗?
1
hotcool100 2021-07-08 16:33:50 +08:00 1
Let's Encrypt
|
2
smileawei 2021-07-08 16:36:39 +08:00
DV 的 SSL 证书颁发。
有一种验证域名身份的方法是 生成随机的 ID 然后访问你域名+ID 。如果得到 ID 值就证明该域名是你所有,颁发证书。 |
3
Jirajine 2021-07-08 16:37:56 +08:00 via Android
其实甚至都不需要你配置域名,只要 cname 指向过去就能直接用 https 访问。当然这个特性容易被滥用,对外服务一般都不开。
caddyserver.com/docs/automatic-https#on-demand-tls |
4
smileawei 2021-07-08 16:39:19 +08:00
HTTP-01 验证方式
这是当今最常见的验证方式。Let’s Encrypt 向您的 ACME 客户端提供一个令牌,然后您的 ACME 客户端将在您对 Web 服务器的 http://<YOUR_DOMAIN>/.well-known/acme-challenge/<TOKEN>(用提供的令牌替换 <TOKEN>)路径上放置指定文件。该文件包含令牌以及帐户密钥的指纹。一旦您的 ACME 客户端告诉 Let’s Encrypt 文件已准备就绪,Let’s Encrypt 会尝试获取它(可能从多个地点进行多次尝试)。如果我们的验证机制在您的 Web 服务器上找到了放置于正确地点的正确文件,则该验证被视为成功,您可以继续申请颁发证书。如果验证检查失败,您将不得不再次使用新证书重新申请。 我们的 HTTP-01 验证最多接受 10 次重定向。我们只接受目标为“http:”或“https:”且端口为 80 或 443 的重定向。我们不目标为 IP 地址的重定向。当被重定向到 HTTPS 链接时,我们不会验证证书是否有效(因为验证的目的是申请有效证书,所以它可能会遇到自签名或过期的证书)。 HTTP-01 验证只能使用 80 端口。因为允许客户端指定任意端口会降低安全性,所以 ACME 标准已禁止此行为。 很多提供免费 SSL 证书的。 比如 Let's Encrypt |
5
balabalaguguji OP @hotcool100 #1 感谢,我看看
|
6
balabalaguguji OP @smileawei #2 好的,多谢,我看看
|
7
balabalaguguji OP @Jirajine #3 多谢
|
8
kanecolin 2021-07-08 17:05:14 +08:00
我理解你说的这个东西应该叫通配符域名吧,举例:
a.baidu.com 、b.baidu.com 、c.baidu.com 、d.baidu.com 。。。 。。。这些都不一定是独立的证书,可能就是一张通配符证书就 okay 了。 还有一种形式就是靠证书链解决的 |
9
balabalaguguji OP @kanecolin #8 不不不,我说的是不同域名,你这个只是二级域名
|
10
troilus 2021-07-08 18:00:06 +08:00
Candy 超级方便
|
11
vantis 2021-07-08 18:16:29 +08:00 via Android
代理吧 对方给你做了前置代理 域名解析先到对方服务 对方再转发请求你
参考 cloudflare |
12
mxT52CRuqR6o5 2021-07-08 18:19:21 +08:00
Let's Encrypt 就有免费的 https 证书啊,都出好久了
你配置 cname 指过去,那边就能通过证书提供商的验证获取单域名证书了 |
13
mxT52CRuqR6o5 2021-07-08 18:21:06 +08:00
是他 cname 指向你还是你 cname 指向他,https 访问时最终显示的是谁的域名
|
14
balabalaguguji OP @mxT52CRuqR6o5 #12 嗯,已经学会了,感谢
|
15
Maskeney 2021-07-08 19:13:42 +08:00 via Android
你都 cname 过去了…文件验证签发证书就是了
|
16
NatsumeMio 2021-07-10 09:30:59 +08:00 via iPhone
应该是通配符域名证书,let‘s encrypt 有限制每小时每个域名 5 次的限制。
|