如何让用户可以设置自己的域以编程方式重定向到我的服务器?

问题描述 投票:0回答:1

我正在构建一个网络构建器。目前,用户可以创建一个静态页面并使用我们的子域来访问该页面,例如 mysite.site.domain.com。

我有一个计划允许用户使用自己的域重定向到他们的页面,我该如何实现?我应该构建自定义 DNS 吗?这背后的概念是什么?

此应用程序部署在 Ubuntu 机器和 Nginx Web 服务器上。

ubuntu nginx next.js dns webserver
1个回答
0
投票

我假设您当前正在生成一个静态 HTML 文件,然后将其存储在服务器上的某个位置。之后,您将生成一个指向该页面的链接,该链接可从子域访问。我再次假设您为每个用户/客户端都有一个子域。

为了首先实现您的目标,您的客户需要要求他们的域名提供商将其 DNS 设置为您的网站。以同样的方式为您的域设置服务器 IP。

接下来,您需要根据客户端域动态生成nginx配置(进入域的简单形式)。一个简单的脚本就可以解决问题。选择您熟悉的任何语言并生成 2 个配置文件并将它们相应地放在以下目录中:

  1. /etc/nginx/conf.d/example.com.conf
  2. /etc/nginx/sites-available/example.com

这些配置与您自己的域已有的其他 Nginx 配置类似。

一些提示:

  • 在继续之前检查用户域的当前 DNS。对用户的输入运行 whois,以确保他们的域设置为您的 IP 或名称服务器 (NS)
  • 如果用户从您的服务器中删除了他们的域,请确保删除 nginx 配置文件。您甚至可以在某些时间间隔(例如每周)运行一个作业来检查/whois 域
  • 如果您没有生成静态文件(HTML)并且正在使用 Next 服务,并且您不想更改当前路由器或运行多个 Next 服务,您可以简单地使用 Nginx 反向代理并添加路由前缀。
© www.soinside.com 2019 - 2024. All rights reserved.