现代WEB服务器通常都具备反向代理功能( reverse proxy servver
),也称为网关( gateway
)服务器。
当 httpd
收到客户单请求,会将请求代理到后端服务器,由后端服务器处理请求并生成内容。后端服务器将内容发送给 httpd
服务,再由 httpd
服务生成实际的HTTP响应返回给客户端。
采用反向代理的主要原因是:
- 安全
- 高可用性
- 负载均衡
- 集中式身份认证和授权
- 为后端应用服务器提供功能补充: 缓存、压缩或SSL加密
采用反向代理架构,为后端服务器提供了隔离保护;而对于客户端,反向代理服务器是所有内容的唯一来源。
Note
nginx_reverse_proxy
也是非常常用的部署模式
Apache提供了功能丰富的模块,例如 apache_webdav
。对于反向代理,主要使用以下模块:
mod_proxy
: 用于重定向连接的主要代理模块,允许Apache作为底层应用服务器的网关mod_proxy_http
: 添加对代理HTTP连接的支持mod_proxy_balancer
和mod_lbmethod_byrequests
: 为多个后端服务器增加负载均衡功能- 执行以下命令激活反向代理功能(包括重启服务):
apache_reverse_proxy/apache_enable_reverse_proxy_modules
待续...