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

2020-05-29 11:10:10 +08:00
 cai314494687
我有一个 域名 xx.b.com , 现在 www.a.com cname 到了 xx.b.comxx.b.com 能正常访问,www.a.com 访问 404

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

如果是用户自己上传的,就 root /htdocs/$host/
imydou
2020-05-29 11:36:40 +08:00
0server_name _;
iwuzhuo
2020-05-29 14:24:38 +08:00
配置:

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

当然我觉得让用户直接 A Record 到你的服务 IP 也问题不大感觉,听其他 v 友的看法.

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

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

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

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

© 2021 V2EX