自定义域名还能自动 https 是怎么做到的?

2021-07-08 16:32:16 +08:00
 balabalaguguji

有些网站可以自定义域名,输入一个自己的域名,配置一个 cname,然后就可以访问了,这没什么。 关键他可以自动 https 这是怎么做的?

是不是自动申请了一个免费证书,自动帮你应用上去了,有什么 API 接口可以获取免费证书吗?

2209 次点击
所在节点    问与答
16 条回复
hotcool100
2021-07-08 16:33:50 +08:00
Let's Encrypt
smileawei
2021-07-08 16:36:39 +08:00
DV 的 SSL 证书颁发。
有一种验证域名身份的方法是 生成随机的 ID 然后访问你域名+ID 。如果得到 ID 值就证明该域名是你所有,颁发证书。
Jirajine
2021-07-08 16:37:56 +08:00
其实甚至都不需要你配置域名,只要 cname 指向过去就能直接用 https 访问。当然这个特性容易被滥用,对外服务一般都不开。
caddyserver.com/docs/automatic-https#on-demand-tls
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
balabalaguguji
2021-07-08 16:51:38 +08:00
@hotcool100 #1 感谢,我看看
balabalaguguji
2021-07-08 16:51:50 +08:00
@smileawei #2 好的,多谢,我看看
balabalaguguji
2021-07-08 16:52:01 +08:00
@Jirajine #3 多谢
kanecolin
2021-07-08 17:05:14 +08:00
我理解你说的这个东西应该叫通配符域名吧,举例:
a.baidu.comb.baidu.comc.baidu.comd.baidu.com 。。。 。。。这些都不一定是独立的证书,可能就是一张通配符证书就 okay 了。

还有一种形式就是靠证书链解决的
balabalaguguji
2021-07-08 17:09:29 +08:00
@kanecolin #8 不不不,我说的是不同域名,你这个只是二级域名
troilus
2021-07-08 18:00:06 +08:00
Candy 超级方便
vantis
2021-07-08 18:16:29 +08:00
代理吧 对方给你做了前置代理 域名解析先到对方服务 对方再转发请求你
参考 cloudflare
mxT52CRuqR6o5
2021-07-08 18:19:21 +08:00
Let's Encrypt 就有免费的 https 证书啊,都出好久了
你配置 cname 指过去,那边就能通过证书提供商的验证获取单域名证书了
mxT52CRuqR6o5
2021-07-08 18:21:06 +08:00
是他 cname 指向你还是你 cname 指向他,https 访问时最终显示的是谁的域名
balabalaguguji
2021-07-08 18:32:26 +08:00
@mxT52CRuqR6o5 #12 嗯,已经学会了,感谢
Maskeney
2021-07-08 19:13:42 +08:00
你都 cname 过去了…文件验证签发证书就是了
NatsumeMio
2021-07-10 09:30:59 +08:00
应该是通配符域名证书,let‘s encrypt 有限制每小时每个域名 5 次的限制。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788330

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX