温馨提示×

centos apache2怎样代理

小樊
42
2026-09-06 03:00:32
栏目: 智能运维

CentOS 上,Apache 通常叫 httpd(不是 apache2,apache2 是 Debian/Ubuntu 的叫法)。下面我分别说 CentOS 下 Apache 做代理(正向 / 反向) 的常见做法。


一、CentOS 中 Apache 服务名

# CentOS 7/8
systemctl status httpd

安装:

yum install httpd -y        # CentOS 7
dnf install httpd -y        # CentOS 8

二、开启代理模块(必须)

Apache 代理依赖以下模块:

  • mod_proxy
  • mod_proxy_http
  • (可选)mod_proxy_wstunnelmod_ssl

查看是否已加载:

httpd -M | grep proxy

如未加载,编辑:

vi /etc/httpd/conf.modules.d/00-proxy.conf

确保有:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

重启:

systemctl restart httpd

三、反向代理(最常用)

场景:把请求转发到后端(如 8080 端口)

示例 1:代理整个站点

<VirtualHost *:80>
    ServerName example.com

    ProxyRequests Off
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

示例 2:只代理某个路径

ProxyPass /api/ http://127.0.0.1:9000/
ProxyPassReverse /api/ http://127.0.0.1:9000/

四、带 SSL 的代理(HTTPS)

<VirtualHost *:443>
    ServerName example.com

    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/key.pem

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

五、正向代理(不推荐,少用)

ProxyRequests On
ProxyVia On

<Proxy *>
    Require ip 192.168.1.0/24
</Proxy>

⚠️ 正向代理极易被滥用,务必加访问控制。


六、常见配置文件位置

/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf

建议新建:

/etc/httpd/conf.d/proxy.conf

七、排错

# 查看错误
tail -f /var/log/httpd/error_log

# 检查配置
httpd -t

如果你能说清楚:

  • 反向还是正向代理
  • 代理 什么服务(Node / Java / 内网)
  • 是否使用 HTTPS

我可以直接给你一份 可直接用的配置

0