apache 反向代理 配置,apache代理


1:业务场景
现有A,B两台内网想通的服务器,其中A机器有公网IP假设其域名为www.zxczxc.com,B机器只有内网没有公网IP,现在A机器上的应用需要访问B机器上的应用,因为公网无法直接访问内网所以网络不通。

2:解决办法
例如:我现在需要在A机器上访问B机器的接口http://110.11.11.11:8090/zxczxc/findNum
这个接口路径带有唯一标识/zxczxc
所以:
修改apache配置文件httpd.conf 增加以下两行
ProxyPass /zxczxc http://110.11.11.11:8090/zxczxc/
ProxyPassReverse /zxczxc http://110.11.11.11:8090/zxczxc/
这两句话的含义是只要访问路径中包含 /zxczxc则吧地址反向代理到内网http://110.11.11.11:8090/zxczxc/访问。重启apache生效
现在在A机器调用B机器的接口时候地址可以写成http://www.zxczxc.com/zxczxc/findNum 因为如果写http://110.11.11.11:8090/zxczxc/findNum 会请求不到,写成http://www.zxczxc.com/zxczxc/findNum  apache会根据/zxczxc路径反向代理到 http://110.11.11.11:8090/zxczxc/findNum,完成操作

ProxyPass 很好理解,就是把所有来自客户端对http://www.zxczxc.com的请求转发给http://110.11.11.11上进行处理
ProxyPassReverse 的配置总是和ProxyPass一致
客户端到服务器称之为正向代理,那服务器到客户端就叫反向代理。

查看apache启动地址 命令:ps -ef | grep httpd




查看配置文件路径 命令(httpd全路径):/usr/local/apache2/bin/httpd -V



可根据配置文件查看日志地址

重启命令:
/usr/local/apache2/bin/apachectl restart

相关内容

    暂无相关文章