“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.comProxyPreserveHost OnProxyPass "/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 会是更轻量的选择。