![如何在不重定向用户的情况下将其他网站指向我的网站的子域?](https://linux22.com/image/757065/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E9%87%8D%E5%AE%9A%E5%90%91%E7%94%A8%E6%88%B7%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%B0%86%E5%85%B6%E4%BB%96%E7%BD%91%E7%AB%99%E6%8C%87%E5%90%91%E6%88%91%E7%9A%84%E7%BD%91%E7%AB%99%E7%9A%84%E5%AD%90%E5%9F%9F%EF%BC%9F.png)
我提前道歉,因为我正在尝试做某事但我不知道它叫什么或者如何最好地描述它,但这是我最好的尝试:
我有一个域名,假设为aaa.com
,并且该域名为使用系统的每个客户预定义了一个子域名。这些子域名的一些示例包括:bbb.aaa.com
、ccc.aaa.com
、ddd.aaa.com
等。每个客户还有他们自己单独维护的网站(即 、bbb.com
、ccc.com
等ddd.com
)。
我想要做的(但不知道如何做)是将每个客户的网站指向我网站上的子域,而无需实际重定向用户。
例如,如果用户访问bbb.com
,而他们并不知道,也没有被重定向,那么他们就会看到bbb.aaa.com
。他们会以为自己一直在bbb.com
,而不是 的某个子域上aaa.com
。同样,如果用户访问bbb.com/eee
,那么我希望他们能够真正看到 上的内容,bbb.aaa.com/eee
而不会被重定向。
我想我以前见过这种做法,所以我假设这是可能的,但我不确定如何做到这一点。我认为需要在双方aaa.com
以及所有客户站点上添加/修改某些 DNS 记录才能实现这一点,但我不太确定如何做。
我使用 AWS 和 Apache 处理所有事情,但客户使用各种域名提供商等。我真正想要的是有关其工作原理的高级概述,以及如何从任何域名提供商实施它的具体信息。例如,“aaa.com
像这样在侧面添加 A 记录”等。谢谢。
答案1
DNS 级别上没有什么复杂的:您将希望用户使用的域指向运行反向代理的服务器(专用产品或 Web 服务器,例如内置有此类功能的 Apache),并配置该反向代理将对特定 URI 空间的请求发送到后端(而不是显示本地内容)。
然而魔鬼就在细节中(从 cookie 到深度链接和后端网站的跨站点脚本保护等等)。