关于域名和 DNS 的问题

关于域名和 DNS 的问题

我对 DNS 和服务器托管领域完全陌生,不太确定我需要什么。

我想获取一个域名,并将其转发到我自己的服务器,这样用户在 URL 栏中就能看到 example.com,并且 example.com/foo/bar 可以正常工作。根据子域名的不同,它应该执行不同的操作(Web 服务器上的另一个基本目录、ftp 等)。此外,我的电子邮件应该能够发送到该服务器并由该服务器接收。

让我恼火的是,在 A 记录中我只能列出 IP 地址而不能列出端口。那么我必须在自己的服务器上设置名称服务器吗?还是我可以通过 Web 服务器上的虚拟主机来实现这一点?

我将非常感激任何帮助或教程链接。

我知道 DNS 如何工作,了解一些基本的 apache 内容等等……所以不需要解释这些。

谢谢

答案1

您不需要运行自己的 DNS 服务器,除非您想使用它。大多数域名注册商允许通过其 Web 界面直接控制您域名的 DNS 记录,等等。

至于托管多个子域名,使用 apache 的VirtualHost指令非常容易。你只需创建一个虚拟主机,其服务器名称为subdomain.example.com,并将DocumentRoot该子域名的设置为文件系统上的任何位置

Apache 中基于名称的虚拟主机示例:

<VirtualHost *:80>
  DocumentRoot /var/www/domainx/htdocs/
  ServerName subdomain.example.com
  ServerAlias *.subdomain.example.com
  ...
</virtualHost>

答案2

它有助于记住OSI模型:

IP Address - Layer 3 - Network layer - Identifies the host
TCP Ports  - Layer 4 - Transport Layer - Identifies the process

至少目前,DNS 仅将人类方便的名称映射到特定主机,即 IP 地址。TCP 端口应该由众所周知的端口处理。

答案3

您设置一个 A 记录来指向您的服务器,不需要端口。端口 80 是默认的 Web 服务器端口,因此如果您输入http://yourdomain.com/它将把请求发送到yourdomain.com端口 80。

相关内容