nginx高性能WEB服务器系列之七--nginx反向代理

时间:2023-12-26 19:00:43

nginx系列友情链接:
nginx高性能WEB服务器系列之一简介及安装
https://www.cnblogs.com/maxtgood/p/9597596.html
nginx高性能WEB服务器系列之二命令管理
https://www.cnblogs.com/maxtgood/p/9597990.html
nginx高性能WEB服务器系列之三版本升级
https://www.cnblogs.com/maxtgood/p/9598113.html
nginx高性能WEB服务器系列之四配置文件详解
https://www.cnblogs.com/maxtgood/p/9598333.html
nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置
https://www.cnblogs.com/maxtgood/p/9598610.html
nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
https://www.cnblogs.com/maxtgood/p/9599068.html
nginx高性能WEB服务器系列之七--nginx反向代理
https://www.cnblogs.com/maxtgood/p/9599335.html
nginx高性能WEB服务器系列之八--nginx日志分析与切割
https://www.cnblogs.com/maxtgood/p/9599542.html
nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案
https://www.cnblogs.com/maxtgood/p/9599752.html

注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。

nginx的强大之处不必要我细说,当初第一次接触nginx的时候就发现了它的强大之处,并且自我觉得非常有必要出一篇记录nginx的各个功能及坑点。

欢迎大家对nginx感兴趣的朋友们来一起学习与及时提出错误及误点。有问题的可以在评论区@我。

一:nginx方向代理做下载文件

这里选择一个最简单的实践需求来演示nginx的反向代理功能,具体流程如下图:

nginx高性能WEB服务器系列之七--nginx反向代理

为了简单理解,画了一个最简单的图,以便理解,目的就是,当用户需要通过a服务器的nginx WEB下载后端B服务器上的文件,(有些时候生产环境上可能并不是每个服务器都可以外网访问。)

以下称接收请求的nginx为反向代理服务器,后端nginx为目标服务器。

先在目标服务器配置nginx:

location ^~ /phones/ {
add_header X-Frame-Options DENY;
alias /opt/qypay/call-show-manager/phoneFile/;
proxy_set_header X-Client-Really-IP $remote_addr;
index index.html index.htm;
}

简单配置一下location下载文件就OK了。

然后在反向代理服务器配置nginx:

 location /phones/ {
proxy_pass http://192.168.11.1:80;###192.168.11.1:80为目标服务器的Ip与nginx的端口
add_header Access-Control-Allow-Origin *;
}

至此就能实现,通过访问nginx反向代理服务器而去下载目标服务器上/opt/qypay/call-show-manager/phoneFile/路径下的文件了。