Apache 的反向代理功能怎么实现?
作者:互联网
以下是一个示例配置:
-
确保你已经安装了
mod_proxy
和mod_proxy_http
模块。如果没有安装,可以使用以下命令安装:sudo a2enmod proxy sudo a2enmod proxy_http sudo systemctl restart apache2
Shell -
编辑你的 Apache 配置文件(通常位于
/etc/apache2/sites-available/000-default.conf
或类似的文件中),添加或修改以下内容:<VirtualHost *:80> ServerName testec.synnex.com # 反向代理配置 ProxyPass /helpcenter/ http://10.84.177.232/helpcenter/ ProxyPassReverse /helpcenter/ http://10.84.177.232/helpcenter/ # 其他目录保持不变 DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Apache -
保存配置文件并重启 Apache 以应用更改:
sudo systemctl restart apache2
Shell
这样配置后,当你访问 http://testec.synnex.com/helpcenter/
时,Apache 会将请求转发到 http://10.84.177.232/helpcenter/
,而访问其他目录时则会直接从本地服务器提供内容。
解释
ProxyPass /helpcenter/ http://10.84.177.232/helpcenter/
:将所有对/helpcenter/
目录的请求转发到http://10.84.177.232/helpcenter/
。ProxyPassReverse /helpcenter/ http://10.84.177.232/helpcenter/
:确保响应头中的 URL 被正确重写,以便客户端能够正确解析返回的内容。DocumentRoot /var/www/html
:设置默认的文档根目录,用于处理其他目录的请求。
标签: 来源: