我在一台机器上为 2 个网络服务器创建了 2 个 VM。一台服务器将运行 IIS 服务,第二台服务器将运行 Apache 服务。
如何配置我的服务器/路由器,使 2 个不同的域在具有单个静态 IP 地址的不同服务器上工作。
小智 5
如果您想在标准 HTTP (80) 或 HTTPS (443) 端口上托管您的 Web 服务器,我认为您不能仅根据域名让两台不同的机器回答。
问题是,当您访问某个站点时,您并不是通过域名访问它——您只是使用 DNS 将该域名映射到 IP。您可以在同一 IP 上托管多个站点的原因是 Host 标头 - 请参阅14.23 HostRFC 2616部分:
这是如何工作的如下。假设我们有两个域 a.example.com 和 b.example.com 指向同一个 IP,比如说 10.0.0.10。客户端,通常使用某些 Web 浏览器,向 DNS 询问 a.example.com 的 IP。DNS 回复 10.0.0.10。客户端然后发送如下内容:
Host: a.example.com
Run Code Online (Sandbox Code Playgroud)
当您的 Web 服务器收到此信息时,它可以确定您实际上想要的是 a.example.com 而不是 b.example.com(或者可能是该 Web 服务器上的其他虚拟主机)。
但是,在您的示例中,您没有一台服务器 - 您有两台服务器。路由器需要仅根据 IP 路由到其中之一 - Host 标头在应用层处理,而路由在 IP 层完成(请参阅TCP/IP 模型)。虽然有些路由器会根据应用层做出一些决定,但我认为没有任何路由器可以深入到数据包中,根据该结果检查 HTTP 标头和路由。
你可以做的是:
有关虚拟主机的更多信息,请参见例如:
请参阅例如有关设置反向代理的内容:
以下是可用于制作反向代理的模块的参考文档:
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |