将客户端域指向我的域

时间:2017-09-04 17:36:25

标签: dns cloudflare wildcard-subdomain

我的网站有一个包含子域名的网站(通配符子域名)

client1.test.com
client2.test.com

我希望我的客户可以使用他们自己的域名。

需要将哪种记录添加到点

client1.com => client1.test.com
shop.client1.com => client1.test.com

我正在为www.test.com使用cloudflare的免费计划,但我愿意接受 如果不能完成就改变它

4 个答案:

答案 0 :(得分:5)

CNAME记录适用于此。您还可以使用A记录指向与test.com相同的IP

答案 1 :(得分:3)

您需要修改cname以将其域名提供商上的client1 IP重定向到client1.test.com

您需要修改cname以将其域名提供商上的client2 IP重定向到client2.test.com

云端闪光灯上的CNAME设置仅适用于付费方案

https://support.cloudflare.com/hc/en-us/articles/200168706-How-do-I-do-CNAME-setup-

您可能还想查看 https://support.cloudflare.com/hc/en-us/articles/200168826-Does-Cloudflare-support-wildcard-DNS-entries-

答案 2 :(得分:3)

您只需要了解DNS记录及其工作原理。您可以为this here找到一个很好的资源,其中最重要的是您的案例中的“A记录”。

总而言之,在您的客户将自己的域指向您的系统之前,他们必须将其域主机记录配置为指向您的服务器/ IP地址。

对于您而言,您不必在Cloudflare中执行任何操作,而是在服务器上执行任何操作。假设您已将网络服务器配置为识别client1.test.com但client1决定使用域client1.com和shop.client1.com,您必须为client1.test.com设置您的网络服务器块以识别这两个域别名除了原始的子域名。

使用Nginx,这将看起来像:

Server {
  ...
  ServerName client1.test.com shop.client1.com client1.com
  ...

如果您正在寻找如何自动执行此过程,可以查看this script

答案 3 :(得分:1)

也许您可以像这样使用CNAME记录:

client1.com CNAME client1.test.com.
shop.client1.com CNAME client1.test.com.

最后的点是告诉DNS不要使用默认域名完成您的输入。

如果你不必使用DNS进行重定向,你也可以自由使用你甚至可以通过IPTables Forwarding来实现。擅长这个解决方案......你可以决定哪个端口指向哪个IP ...这样你可以将webserver转发到你的客户服务器,但是将Mail保留在你的服务器上(例如)

此处如何将端口转发到具有外部IP的另一台主机:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $port -j LOG --log-prefix="PreRouting $port..:"
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $port -j DNAT --to $ip:$port
sudo iptables -t nat -A POSTROUTING -j MASQUERADE

sudo iptables -A FORWARD -p tcp -i eth0 -o eth0 -s $ip --sport $port -j LOG --log-prefix="S Forward $port.."
sudo iptables -A FORWARD -p tcp -i eth0 -o eth0 -s $ip --sport $port -j ACCEPT
sudo iptables -A FORWARD -p tcp -i eth0 -o eth0 -d $ip --dport $port -j LOG --log-prefix="D Forward $port.."
sudo iptables -A FORWARD -p tcp -i eth0 -o eth0 -d $ip --dport $port -j ACCEPT

您还必须添加此命令以在网络堆栈上设置:

sudo sysctl -w net.ipv4.ip_forward=1

这将在默认的DENY IPTables设置中有效。