Apache反向代理

“apache2 网站静态文件” = /var/www/html/
Apache 本身就可以作为一个反向代理服务器来使用,通常是通过 mod_proxy 及其附加模块来实现。

下面是启用 Apache 反向代理的基本步骤:

1. 启用必要的模块

你需要启用以下 Apache 模块(Debian/Ubuntu 示例):

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests

然后重启 Apache:

sudo systemctl restart apache2

2. 配置反向代理

编辑你的 Apache 配置文件(例如 /etc/apache2/sites-available/000-default.conf 或新建一个配置文件),添加如下内容:

<VirtualHost *:80>
ServerName your-domain.com

ProxyPreserveHost On

ProxyPass        "/dev-api/"  "http://127.0.0.1:9090/"
ProxyPassReverse "/dev-api/"  "http://127.0.0.1:9090/"
</VirtualHost>

这个例子表示,访问 your-domain.com 时,Apache 会将请求反向代理到本地的 8080 端口(比如 Nginx、Tomcat、Node.js 等后端服务)。

3. 检查配置并重启

sudo apache2ctl configtest
sudo systemctl restart apache2

4. 验证

访问你的域名,确认请求被正确转发到后端服务。

可选:负载均衡(高级用法)

你还可以配置多个后端服务器实现负载均衡:

<Proxy balancer://mycluster>
BalancerMember http://127.0.0.1:8080
BalancerMember http://127.0.0.1:8081
</Proxy>

ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/

总结

Apache 完全可以做反向代理,功能也很强大,适合已有 Apache 环境的场景。不过如果你专门需要高性能反向代理,Nginx 或 HAProxy 会是更轻量的选择。

posted @ 2025-10-05 17:11  news_one  阅读(17)  评论(0)    收藏  举报