0

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

示例.com 127.0.0.1

example.com/project1/127.0.0.2

example.com/project2/127.0.0.3

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

4

1 回答 1

2

听起来你想实现一个可以用mod_proxy完成的代理。我假设这些网站已经在运行,127.0.0.2并且127.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
于 2013-02-23T11:19:36.690 回答