一、反向代理及演示环境描述
1、反向代理
在计算机网络中,反向代理是一种代理服务器,代表客户端从一个或多个服务器检索资源。然后将这些资源返回给客户机,就像它们源自Web服务器本身一样。与正向代理相反,正向代理是与其关联的客户端联系任何服务器的中介,反向代理是任何客户端与其关联的服务器进行联系的中介。
有关正向代理可参考:基于CentOS7配置Nginx正向代理
2、本演示中的几个服务器
二、常规反向代理配置
1、后端服务器配置(Apache)
后端Apache服务器主机名及IP
2、前端Nginx反向代理服务器配置
前端Nginx服务器主机名及IP
Nginx版本
添加一个新的配置文件用作反向代理
查看Apache服务器日志
3、反向代理服务器及后端服务器日志格式设置
为Nginx服务器添加proxy_set_header指令,修改后如下
后端服务器Apache日志格式设置
三、基于目录匹配反向代理
后端服务器采用Nginx的配置
前端Nginx配置
验证代理情况,在ip为192.168.1.244测试对images目录下的jpg文件请求
四、基于特定文件类型的反向代理配置
php服务器端配置(ip 192.168.1.132)
Nginx代理端配置(ip 192.168.1.175)
测试反向代理至php
五、基于upstream 配置反向代理至tomcat
Nginx upstream指令也可以将请求代理到后端服务器 如下示例,结合upstream指令演示将其代理到tomcat
六、proxy模块指令描述
proxy模块的可用配置指令非常多,它们分别用于定义proxy模块工作时的诸多属性,如连接超时时长、代理时使用http协议版本等。下面对常用的指令做一个简单说明。
proxy_connect_timeout nginx将一个请求发送至upstream server之前等待的最大时长;
proxy_cookie_domain 将upstream server通过Set-Cookie首部设定的domain属性修改为指定的值,其值可以为一个字符串、正则表达式的模式或一个引用的变量;
proxy_cookie_path 将upstream server通过Set-Cookie首部设定的path属性修改为指定的值,其值可以为一个字符串、正则表达式的模式或一个引用的变量;
proxy_hide_header 设定发送给客户端的报文中需要隐藏的首部;
proxy_pass 指定将请求代理至upstream server的URL路径;
proxy_set_header 将发送至upsream server的报文的某首部进行重写;
proxy_redirect 重写location并刷新从upstream server收到的报文的首部;
proxy_send_timeout 在连接断开之前两次发送至upstream server的写操作的最大间隔时长;
proxy_read_timeout 在连接断开之前两次从接收upstream server接收读操作的最大间隔时长;
如下面的一个示例:
原文来自:http://www.centoscn.com/nginx/2017/1215/9453.html
让您学习到的每一节课都有所收获
《Linux就该这么学》是由资深运维专家刘遄及全国多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。
刘遄老师QQ:5604241 微信:gnu_chuan
学员助教QQ:5604674
Linux技术交流A群(满):560843
Linux技术交流B群:340829
Linux技术交流C群:463590
Linux技术交流D群:915246
Linux技术交流E群:1663106
Linux技术交流F群:1653851
Linux技术交流G群:2632018(新群,火热加群中……)
官方站点:www.linuxprobe.com
电脑在线阅读效果更佳:
http://www.linuxprobe.com/chapter-00.html
按住图片3秒,即可自动关注。
领取专属 10元无门槛券
私享最新 技术干货