用apache httpd来实现反向代理

Apache httpd就是Apache HTTP Server, 它于1995年发布。Apache HTTP Server项目致力于开发和维护适用于现代操作系统(包括 UNIX 和 Windows)的开源 HTTP server。该项目的目标是提供安全、高效且可扩展的服务server,并提供与当前 HTTP 标准同步的 HTTP 服务。

正向代理与反向代理(这篇文章讲的很通俗易懂):

  • 正向代理是为客户端转发请求,它是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器获取内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。比如可用代理服务器加速访问github等国外技术网站。
  • 反向代理是为服务端转发请求,客户端将请求发送到反向代理服务器,反向代理服务器再将请求转发给真正的服务器来处理请求;真正的服务器将处理结果发送给反向代理,再由反向代理构建响应并发送给客户端。反向代理可以实现负载均衡。

用Apache httpd实现反向代理的基本步骤

  1. 安装apache httpd
shell 复制代码
yum install  httpd
  1. 创建文件夹用于存储httpd的日志和用户信息
shell 复制代码
sudo mkdir -p /usr/local/etc/httpd/
sudo mkdir -p /var/log/httpd/
  1. (可选)如果要是反向代理添加用户认证,可以使用htpasswd创建用户认证的文件, 下面命令表示创建一个test的用户,命令执行成功会让你输密码
shell 复制代码
   sudo htpasswd -c /usr/local/etc/httpd/users test
  1. 修改httpd的配置文件
    vim /etc/httpd/conf/httpd.conf
shell 复制代码
   # a. 将用户和group从apache修改为daemon;  "User daemon Group daemon"
   # b. 将下面内容放入到httpd.conf中, 表示将监听8088端口。并将服务转发到8089端口上来反向代理8089端口上的服务,这里的配置添加了前面创建的用户test来进行用户认证,不需要也可以不添加。
listen 8088
<VirtualHost *:8088>
    ErrorLog "/var/log/httpd/agent-error_log"
    CustomLog "/var/log/httpd/agent-access_log" common
    <Proxy *>
        Order deny,allow
        Allow from all
        Authtype Basic
        Authname "Password Required"
        AuthUserFile /usr/local/etc/httpd/users
        Require user test
    </Proxy>
    ProxyPass / http://localhost:8089/
    ProxyPassReverse / http://localhost:8089/
</VirtualHost>
  1. 检查httpd配置文件是否正确,以及重启httpd服务
shell 复制代码
# 检查httpd配置文件是否正确
   apachectl configtest
# 重启httpd服务
   sudo systemctl restart  httpd.service
相关推荐
运维小文13 天前
K8S的ingress介绍和安装ingress
云原生·容器·kubernetes·k8s·ingress·反向代理
高建伟-joe21 天前
nginx 代理 web service 提供 soap + xml 服务
nginx·反向代理·web service·soap + xml
vvw&1 个月前
在 Ubuntu 上使用 Traefik Proxy 为 Docker 容器设置反向代理
linux·运维·ubuntu·docker·https·反向代理·traefik proxy
运维&陈同学1 个月前
【HAProxy08】企业级反向代理HAProxy高级功能之自定义日志格式与IP透传
linux·运维·nginx·云原生·负载均衡·lvs·haproxy·反向代理
运维&陈同学1 个月前
【HAProxy06】企业级反向代理HAProxy调度算法之其他算法
运维·nginx·云计算·负载均衡·lvs·haproxy·反向代理
雪碧聊技术1 个月前
简单介绍Nginx服务器的反向代理、负载均衡
服务器·nginx·负载均衡·反向代理
折腾的小飞2 个月前
nginx代理配置,搞定proxy_pass配置
运维·nginx·反向代理
zhangphil3 个月前
Windows环境Apache httpd 2.4 web服务器加载PHP8:Hello,world!
php·apache·httpd
梦茹^_^3 个月前
EC Shop安装指南 [ Apache PHP Mysql ]
数据库·测试工具·mysql·php·apache·httpd·ec shop