【发布时间】:2010-09-10 19:46:30
【问题描述】:
假设我想要一个名为-http://www.foo.com/news/ 的子文件夹,但我实际上希望该新闻文件夹位于另一台服务器上。我意识到它可以通过子域轻松完成,但我真的希望子文件夹的事情。
有可能吗?怎么样?
【问题讨论】:
标签: dns reverse-proxy subdirectory
假设我想要一个名为-http://www.foo.com/news/ 的子文件夹,但我实际上希望该新闻文件夹位于另一台服务器上。我意识到它可以通过子域轻松完成,但我真的希望子文件夹的事情。
有可能吗?怎么样?
【问题讨论】:
标签: dns reverse-proxy subdirectory
唯一真正的方法是在您和外部世界之间使用反向代理(或充当反向代理的网络服务器),它知道每个 IP 地址文件夹在里面。
不可能只做某事,例如让 google.com 出现在http://foobar.com/google/,因为浏览器不会路由到 IP 地址(缺少信息)。
您可以使用整页 IFrame 或其他框架集系统伪造该效果,但这相当狡猾。
如果您使用的是 apache,您可以使用 mod_proxy 进行设置。更多细节可以在这里找到:
【讨论】:
对于 Apache,需要 httpd.conf 中的以下条目:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyPass /news http://newsserver.domain.com/news
ProxyPassreverse / http://newsserver.domain.com/
【讨论】:
是的,IIS 中有一个设置可让您将子文件夹指向不同的站点。因此,将子文件夹设置为您站点上的虚拟目录,然后在虚拟目录的属性中选择“重定向到 URL”选项...在其中指定您的其他站点。
当然,这是假设您使用的是 IIS。在您使用的任何 Web 服务器中都应该有类似的东西可供使用。
【讨论】:
不能用DNS做,因为域名只是地址的*.example.com。
这可以通过在您的 www 机器上配置一个代理来将所有对 /news 的请求传递到另一台服务器来完成。使用 apache 很容易做到,但我现在不记得所有细节。
【讨论】:
DNS 解析发生在域级别。 DNS 不了解 URL 或文件夹,因此您的名称将始终指向同一服务器。您可以使该服务器实际从另一台服务器检索信息或重定向到另一台服务器,但这并不是很令人满意。
【讨论】: