• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cai314494687
V2EX  ›  程序员

咨询一个与 cname 有关的技术问题,怎么让自己写的系统支持 cname 域名?

  •  
  •   cai314494687 ·
    forecho · May 29, 2020 · 4019 views
    This topic created in 2349 days ago, the information mentioned may be changed or developed.
    我有一个 域名 xx.b.com , 现在 www.a.com cname 到了 xx.b.com ,xx.b.com 能正常访问,www.a.com 访问 404

    我怎么解决这个问题?需要为这个 www.a.com 配置 nginx 吗?
    17 replies  •  2020-06-02 14:04:25 +08:00
    MrCastle
    MrCastle
    May 29, 2020
    1
    虽然不知道是什么问题。
    但是两个域名都是你的,为什么需要 cname ?不是直接 A 记录就可以了吗?
    cname 应该是给 CDN 用的吧。
    以上纯属个人意见。
    cai314494687
    cai314494687
    OP
    May 29, 2020
    2
    @MrCastle #1 我表述有点问题。实际的场景是,我现在是想支持用户绑定自己的域名。
    imkuang
    imkuang
    May 29, 2020
    3
    需要把 www.a.com 这个域名加到 nginx 的 server_name 里
    qianyugang
    qianyugang
    May 29, 2020
    4
    是要做一套类似于 Gitpage 的那种吗?用户绑定自己域名发布
    cai314494687
    cai314494687
    OP
    May 29, 2020
    5
    @xiri #3 那每加一个用户配置了一个域名,我就得配置一下 nginx ?然后还得重启 nginx ?那跟自己配置 IP 有什么区别?
    cai314494687
    cai314494687
    OP
    May 29, 2020
    6
    @qianyugang #4 差不多
    imkuang
    imkuang
    May 29, 2020❤️1
    7
    @cai314494687
    你的这种需求直接写 server_name _ 吧,不过这样的问题就是只要域名解析了就能访问,没法做权限控制。
    要实现 github pages 那样可能需要自己搞一些黑科技,比如在代码中做判断之类的
    imdong
    imdong
    May 29, 2020 via iPhone
    8
    泛域名,nginx default_server 指向自己的程序。然后程序内根据域名处理。

    如果是用户自己上传的,就 root /htdocs/$host/
    imydou
    imydou
    May 29, 2020 via iPhone
    9
    0server_name _;
    iwuzhuo
    iwuzhuo
    May 29, 2020
    10
    配置:

    - nginx.conf: server_name *.b.com
    - dns: www.a.com cname uid.b.com
    cai314494687
    cai314494687
    OP
    May 29, 2020
    11
    @iwuzhuo #10 我目前就是这样配置的,但是访问 www.a.com 的时候是 404
    joesonw
    joesonw
    May 29, 2020
    12
    nginx 的话是要加的. 动态配置的反向代理的话, 上 treafik 比较方便.
    xyjincan
    xyjincan
    May 29, 2020
    13
    把 server name 这一行删掉?
    zhuweiyou
    zhuweiyou
    May 29, 2020
    14
    目测你问的是 泛域名
    baobao1270
    baobao1270
    May 29, 2020
    15
    Nginx 写 server_name _;
    在自己的程序里再判断域名
    zcxey2911
    zcxey2911
    May 31, 2020
    16
    其实这个问题最后演变成了动态修改 nginx 配置的问题
    metrue
    metrue
    Jun 2, 2020
    17
    我在做 https://giki.app 的时候是这么做的:
    1. 在你的 ngnix (或者其他 web proxy) 配置好泛域名支持
    2. 给每一个用户分配一个 sub domain (如 a.mydomain.com)
    3. 然后用户就可以通过 CNAME 指向他自己的 sub domain
    4. 在你的自己程序中处理不同的用户(也就是不同的 sub domain) 的数据加载问题.

    当然我觉得让用户直接 A Record 到你的服务 IP 也问题不大感觉,听其他 v 友的看法.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4451 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 107ms · UTC 10:00 · PVG 18:00 · LAX 02:00 · JFK 05:00
    ♥ Do have faith in what you're doing.