我有一个LINODE 512帐户(Ubuntu 10.04 LTS),我有一个IP。 使用/ etc / apache2 / sites-available(启用)我已经托pipe了4个网站,工作得很好。
但我得到的IP地址与我使用DNSpipe理器创build的最新网站相关联。 这意味着当我在浏览器中inputIP地址时,它只会打开最新添加的网站。
现在如何改变这种联系,以便从我的账户中打开我想要的任何网站?
这根本不可能。 这与DNS无关 – 它与Apache VirtualHosts和“Host”HTTP标题有关。
Apache通过HTTP发送的“主机”头来区分您尝试访问的VirtualHost。 看到这个网站的例子。
当您通过IP地址访问Web服务器时,“主机”标题只包含IP地址 – 即不包含托pipe域名的DNS名称。 这意味着Apache不能告诉你想要哪个站点,并且服务于它所知道的第一个站点。 (最有可能的是,您会发现它是按字母顺序显示在您的configuration中的第一个。)
想一想。 如果您浏览到您的Linode的IP(不使用DNS名称),Apache如何知道您要浏览的VirtualHost?
您可以通过在您的VirtualHostconfiguration文件中添加“ServerAlias my_linode_ip”节来解决这个问题,但是这个function只适用于一个站点。 (即,您需要更改configuration以更改直接IP指向的位置。)