如果我将 x.domain.com 和 y.domain.com 设置为同一个 IP 地址,是否意味着 Nginx 无法区分 x.domain.com 和 y.domain.com 之间的区别?
是否无法将服务器上下文中的服务器指令中的 x.domain.com 和 y.domain 映射到不同的文件夹?
我也想了解更多有关计算机网络工作原理的知识。有人能给我一些资源吗?
答案1
如果我将 x.domain.com 和 y.domain.com 设置为同一个 IP 地址,是否意味着 Nginx 无法区分 x.domain.com 和 y.domain.com 之间的区别?
是否无法将服务器上下文中的服务器指令中的 x.domain.com 和 y.domain 映射到不同的文件夹?
可以;所有 HTTP 客户端都会Host
随请求发送标头。例如,
获取 /page.html HTTP/1.1 主机:x.domain.com 用户代理:Mozilla/5.0
这是非常广泛使用的;参见虚拟主机. 有关 nginx 配置,请参阅nginx wiki 上的 VirtualHostExample。
答案2
同一 IP 地址上的多个(子)域名(例如 x.domain.com 和 y.domain.com)没有什么特殊之处。
它被称为“基于命名的虚拟主机”,你可以在维基百科或 nginx 文档中找到更多信息: