用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
相关推荐
折腾的小飞18 天前
nginx代理配置,搞定proxy_pass配置
运维·nginx·反向代理
zhangphil1 个月前
Windows环境Apache httpd 2.4 web服务器加载PHP8:Hello,world!
php·apache·httpd
梦茹^_^2 个月前
EC Shop安装指南 [ Apache PHP Mysql ]
数据库·测试工具·mysql·php·apache·httpd·ec shop
智慧的牛3 个月前
nginx常用配置详解
运维·nginx·反向代理
Jack_hrx3 个月前
深入解析 Nginx 反向代理:配置、优化与故障排除
nginx·负载均衡·性能调优·反向代理·安全代理
Hello-Brand3 个月前
DNS在架构中的使用
负载均衡·dns·高可用·反向代理·探活
至天4 个月前
UniApp 中 Web/H5 正确使用反向代理解决跨域问题
前端·uni-app·vue3·vue2·vite·反向代理
假装我不帅4 个月前
asp.net core反向代理
后端·asp.net·反向代理·yarp
WineMonk4 个月前
.NET C# Asp.Net Core Web API 配置 Nginx
nginx·c#·asp.net·.net·.net core·反向代理