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只能从同一台服务器请求访问。

我的标准是:

  • 一个404应该服务于任何人试图浏览到api.foo.com(不被拒绝的权限)
  • 访问api.foo.com仅限于IP或IP范围

我已经通过以下方式实现了

  • 不为api.foo.com设置DNSlogging,所以任何试图访问它的人都将收到404。
  • 为127.0.0.1:80创build一个基于IP的虚拟主机,并将以下规则添加到/ etc / hosts中

    127.0.0.1 api.foo.com

这完全按照需要工作。 但这是实现私人虚拟主机的正确方法吗?

听起来像是一个很好的解决scheme。 如果您的网站增长,您甚至可以将其扩展到多个服务器。

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