V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aijialefu
V2EX  ›  程序员

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

  •  
  •   aijialefu · 2021-02-27 08:59:52 +08:00 · 2835 次点击
    这是一个创建于 1360 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  2021-02-28 22:26:07 +08:00
    结帖,感谢各位老哥的帮忙!方法在下面几楼上
    8 条回复    2021-02-28 22:25:12 +08:00
    Rocketer
        1
    Rocketer  
       2021-02-27 10:24:52 +08:00 via iPhone
    怎么说着说着域名就说到了 nginx ?

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

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

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

    而且,CNAME 不是流量转发。
    cpstar
        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/反代,就是废话了。
    eason1874
        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 查。
    no1xsyzy
        6
    no1xsyzy  
       2021-02-27 13:04:00 +08:00
    DNS 通常只能知道 IP
    至于 HTTP(S) 这层,根据 SNI 或者 Host 进行断定就行,倒也不止是 nginx 可以干这事儿
    jinliming2
        7
    jinliming2  
       2021-02-28 00:51:13 +08:00
    域名 A1 、A2 直接用 cname 解析到 B,B 用 ddns 解析到一台 ip 经常变化的服务器上。
    这就已经满足你的需求了。不需要自建 CNAME 服务,也不需要 nginx 。
    aijialefu
        8
    aijialefu  
    OP
       2021-02-28 22:25:12 +08:00
    @Rocketer
    @dorothyREN
    @FakNoCNName
    @cpstar
    @eason1874
    @no1xsyzy
    @jinliming2

    感谢各位老哥解惑,我这边测试了,直接 A1 、A2..An 以 cname 方式解析到 B 域名上,B 域名用 ddns 方式解析过去就好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1046 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:43 · PVG 03:43 · LAX 11:43 · JFK 14:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.