我一直想知道如何在一台服务器上托管多个网站。
例如,dreamhost 可以在一台服务器上托管 100 多个页面,
这是如何抽象的?
每个托管网页都有 1 个 IP 吗?
答案1
来自维基百科文章在共享虚拟主机上:
基于
名称的虚拟主机在基于名称的虚拟主机(也称为共享 IP 托管)中,虚拟主机在具有单个 IP 地址的单个机器上提供多个主机名。当 Web 浏览器使用 HTTP/1.1 从 Web 服务器请求资源时,它会将请求的主机名作为请求的一部分。服务器使用此信息来确定向用户显示哪个网站。
基于 IP
在基于 IP 的虚拟主机(也称为专用 IP 主机)中,每个虚拟主机都有不同的 IP 地址。Web 服务器配置了多个物理网络接口,或同一物理接口上的虚拟网络接口。Web 服务器软件使用客户端连接的 IP 地址来确定向用户显示哪个网站。网站使用专用 IP 的主要原因是能够使用自己的 SSL 证书而不是共享证书。
服务器名称指示 (SNI) 是传输层安全性 (TLS) 计算机网络协议的扩展,客户端通过该协议在握手过程开始时指示其尝试连接的主机名。1这允许服务器在同一个 IP 地址和 TCP 端口号上提供多个可能的证书之一,从而允许多个安全(HTTPS)网站(或任何其他通过 TLS 的服务)由同一个 IP 地址提供服务,而无需所有这些站点都使用相同的证书。