CentOS 配置 Nginx 反向代理

一、反向代理及演示环境描述

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秒,即可自动关注。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171228A07H0R00?refer=cp_1026

扫码关注云+社区