自建 cname 服务? n 个域名解析到一台 ip 变化的服务器上

2021-02-27 08:59:52 +08:00
 aijialefu

域名 A1 、A2 不方便做 ddns 解析,所以用直接用 cname 解析到 B,B 用 ddns 解析到一台 ip 经常变化的服务器上。也就是说 A1 、A2...An 域名用 cname 解析到 B 只是为了得到 B 的 ip,要用 nginx 反代?

2845 次点击
所在节点    程序员
8 条回复
Rocketer
2021-02-27 10:24:52 +08:00
怎么说着说着域名就说到了 nginx ?

域名可以理解为 IP 的别名,与 nginx 没什么关系。你前面说的都对,把一个域名用 ddns 解析,其它都 cname 到那个域名,这些域名就全都解析到你的 IP 了。

我猜你想说的可能是网站吧?一个 IP 建立多个基于域名的虚拟主机就行了。
dorothyREN
2021-02-27 10:36:18 +08:00
不需要反代吧
FakNoCNName
2021-02-27 10:42:46 +08:00
1 楼说了一些,我再补充下。

你这种情景下,nginx 反代实现类似多个域名访问同一个服务,是不是需要固定 IP ? 65535 个端口要配置多少东西? UDP 怎么处理?

而且,CNAME 不是流量转发。
cpstar
2021-02-27 10:55:02 +08:00
CNAME 是 DNS 体系下的东西,NGINX 反代是 HTTP 协议下的东西,额。。。
B 上直接 nginx 多主机就行了,写几个 server,然后配置相应的 server_name,反什么代。(说到这,我陷入了思索,往下看)

然后进一步说,从 LZ 只言片语,我直接没理解出到底什么意思,脑补了半天,大概理解了,An 域名解析不在 LZ 手中控制,只能一次性 CNAME 到另外一个地方 B,然后 B 有 DDNS,那么问题来了,DNS 是域名和 IP 的对应关系,An 期往对应到的 IP (服务器)是个情况,啥也没说。跟 B 的服务器是一体的?不是一体,但是一般互联网不可被访问?有防火墙? IP 变动?[黑人问号脸]。所以前边说的 server_name/反代,就是废话了。
eason1874
2021-02-27 11:40:57 +08:00
意思就是有 n 个域名要同时解析到不固定的 IP 是吧。

不用 Nginx,直接用一个域名当作 cname 域名,所有域名都解析到这个 cname 域名,然后给这个 cname 域名做 DDNS 就行了,它解析结果变了,其他域名的都跟着变。

cname 的意思是别名,理解成托管就行了,A cname 到 B 就是 A 把解析托管给 B,要找 A 的解析就去 B 查。
no1xsyzy
2021-02-27 13:04:00 +08:00
DNS 通常只能知道 IP
至于 HTTP(S) 这层,根据 SNI 或者 Host 进行断定就行,倒也不止是 nginx 可以干这事儿
jinliming2
2021-02-28 00:51:13 +08:00
域名 A1 、A2 直接用 cname 解析到 B,B 用 ddns 解析到一台 ip 经常变化的服务器上。
这就已经满足你的需求了。不需要自建 CNAME 服务,也不需要 nginx 。
aijialefu
2021-02-28 22:25:12 +08:00
@Rocketer
@dorothyREN
@FakNoCNName
@cpstar
@eason1874
@no1xsyzy
@jinliming2

感谢各位老哥解惑,我这边测试了,直接 A1 、A2..An 以 cname 方式解析到 B 域名上,B 域名用 ddns 方式解析过去就好了

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

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

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

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

© 2021 V2EX