域名 A1 、A2 不方便做 ddns 解析,所以用直接用 cname 解析到 B,B 用 ddns 解析到一台 ip 经常变化的服务器上。也就是说 A1 、A2...An 域名用 cname 解析到 B 只是为了得到 B 的 ip,要用 nginx 反代?
1
Rocketer 2021-02-27 10:24:52 +08:00 via iPhone
怎么说着说着域名就说到了 nginx ?
域名可以理解为 IP 的别名,与 nginx 没什么关系。你前面说的都对,把一个域名用 ddns 解析,其它都 cname 到那个域名,这些域名就全都解析到你的 IP 了。 我猜你想说的可能是网站吧?一个 IP 建立多个基于域名的虚拟主机就行了。 |
2
dorothyREN 2021-02-27 10:36:18 +08:00
不需要反代吧
|
3
FakNoCNName 2021-02-27 10:42:46 +08:00
1 楼说了一些,我再补充下。
你这种情景下,nginx 反代实现类似多个域名访问同一个服务,是不是需要固定 IP ? 65535 个端口要配置多少东西? UDP 怎么处理? 而且,CNAME 不是流量转发。 |
4
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/反代,就是废话了。 |
5
eason1874 2021-02-27 11:40:57 +08:00
意思就是有 n 个域名要同时解析到不固定的 IP 是吧。
不用 Nginx,直接用一个域名当作 cname 域名,所有域名都解析到这个 cname 域名,然后给这个 cname 域名做 DDNS 就行了,它解析结果变了,其他域名的都跟着变。 cname 的意思是别名,理解成托管就行了,A cname 到 B 就是 A 把解析托管给 B,要找 A 的解析就去 B 查。 |
6
no1xsyzy 2021-02-27 13:04:00 +08:00
DNS 通常只能知道 IP
至于 HTTP(S) 这层,根据 SNI 或者 Host 进行断定就行,倒也不止是 nginx 可以干这事儿 |
7
jinliming2 2021-02-28 00:51:13 +08:00
域名 A1 、A2 直接用 cname 解析到 B,B 用 ddns 解析到一台 ip 经常变化的服务器上。
这就已经满足你的需求了。不需要自建 CNAME 服务,也不需要 nginx 。 |
8
aijialefu OP @Rocketer
@dorothyREN @FakNoCNName @cpstar @eason1874 @no1xsyzy @jinliming2 感谢各位老哥解惑,我这边测试了,直接 A1 、A2..An 以 cname 方式解析到 B 域名上,B 域名用 ddns 方式解析过去就好了 |