是否可以在同一个域子目录中创建多个服务器

时间:2013-02-23 10:50:08

标签: apache .htaccess dns

这只是我的项目。它正在成长,我想在同一个域上添加一个新服务器作为子目录。是否可以创建子目录,如:

example.com 127.0.0.1

example.com/project1/ 127.0.0.2

example.com/project2/ 127.0.0.3

我如何配置DNS或Apache以使其正常工作?

1 个答案:

答案 0 :(得分:2)

听起来您想要实现可以使用mod_proxy完成的代理。我认为这些网站已经在127.0.0.2127.0.0.3上运行,并且公共前端位于127.0.0.1

您需要在127.0.0.1上编辑配置文件,并在主配置(对于单个站点)或虚拟主机的虚拟主机块中编辑,添加ProxyPass配置:

ProxyPass       /project1/  http://127.0.0.2/
ProxyPass       /project2/  http://127.0.0.3/

这会将所有请求从/project1/发送到http://127.0.0.2/,如果您想隐藏此服务器,或者公众无法访问它,例如您需要设置的内部网络地址反向代理,以便通过公共前端将结果反馈给用户,因此您需要添加ProxyPassReverse配置:

ProxyPassReverse /project1/  http://127.0.0.2/
ProxyPassReverse /project2/  http://127.0.0.3/

除此之外,您还需要在配置文件中启用代理模块,这些是我为基本反向代理启用的

LoadModule  proxy_module         modules/mod_proxy.so
LoadModule  proxy_http_module    modules/mod_proxy_http.so

根据您的具体情况,还有一些其他模块可能很重要

mod_proxy_connect    This handles the CONNECT function if connecting to https:// servers
mod_proxy_ftp        This handles connections to FTP servers
mod_proxy_ajp        This handles connections to tomcat/AJP servers
mod_headers          This can modify response and request headers
mod_deflate          This negotiates compression with backends
mod_proxy_html       This is a 3rd party module which will rewrite HTML links to the proxy address space