Apache2 虚拟主机限制为本地主机

Apache2 虚拟主机限制为本地主机

事情是这样的。

我有多个虚拟主机。每个虚拟主机都是一个单独的域。每个域用于单独的应用程序。假设我有以下虚拟主机:

http://.abc.com http://.def.com http://foo.com

然后我有一个单独的应用程序,它是 foo.com 应用程序的 RESTful HTTP api。

我想要实现的本质上是 *.abc.com 和 *.def.com 到 api.foo.com 之间的反向通道通信。这样 *.abc.com、*.def.com 和 foo.com 就可以公开访问(我已经设置好了)。但只有从同一台服务器请求时才能访问 api.foo.com。

我的标准是:

  • 任何试图浏览 api.foo.com 的人都会收到 404 错误(但不会被拒绝访问)
  • 对 api.foo.com 的访问仅限于 IP 或 IP 范围

我通过以下方式实现了这个目标:

  • 没有为 api.foo.com 设置 DNS 记录,因此任何尝试访问它的人都会收到 404。
  • 为 127.0.0.1:80 创建基于 IP 的虚拟主机,并将以下规则添加到 /etc/hosts

    127.0.0.1 api.foo.com

这完全符合预期。但这是实现私有虚拟主机的正确方法吗?

答案1

对我来说这听起来是个不错的解决方案。如果您的网站发展壮大,您甚至可以将其扩展到多台服务器。

一个小提示:客户端不会收到 404 错误,他们的浏览器会报告他们无法找到主机。404 表示浏览器与服务器通信,但服务器找不到请求的文档。

相关内容