Apache 是一个多功能的 Web 服务器,它提供了完整的支持功能,其中一些是通过扩展来实现的。在本文中,我们将使用该mod_proxy模块将 Apache 配置为反向代理角色。
虽然 Apache 可能不是您作为反向代理的首选,但 NGINX 等更现代的替代方案往往会引起注意,mod_proxy但对于已经在运行 Apache 并且现在需要将流量路由到另一个服务的服务器很有用。您可以设置 Apache 虚拟主机将给定域的请求传递到单独的 Web 服务器。
出于本指南的目的,我们将 Apache 2.4 与基于 Debian 的系统一起使用。我们还将假设您想要代理流量的服务器已经可以从您的 Apache 主机通过网络访问。本文重点介绍基于唯一虚拟主机启用代理,但mod_proxy也可全局配置,作为 Apache 服务器配置的一部分,或通过.htaccess文件在目录级别进行配置。
启用代理模块
mod_proxy包含在默认的 Apache 安装中。现在a2enmod用于激活模块及其独立的 HTTP 组件:
sudo a2enmod proxy
sudo a2enmod proxy_http
这将 Apache 设置为支持代理到其他主机的 HTTP 连接。该模块使用ProxyApache 配置文件中的 -prefixed 指令进行配置。我们接下来会设置这些。
设置代理虚拟主机
让我们设置一个转发example.com到内部 IP 地址的虚拟主机192.168.0.1。您应该example.com将该点的 DNS 记录添加到您的