nginx架构(三)Nginx服务器的代理服务
来源:互联网 发布:道光知乎 编辑:程序博客网 时间:2024/05/22 16:02
Nginx服务器的代理服务
下面我们来认识Nginx服务器的代理服务,这个应该是在放在(二)来说的,先介绍代理服务,再说具体反向代理。
1、 什么是代理(正向代理)、方向代理、透明代理?(在另外的文章有介绍)
简单来说,正向代理就是局域网内的主机要访问互联网资源,为了保护自身安全,而使用代理服务器去访问外界资源。
而方向代理则是局域网为外界(/互联网)提供资源,让外界的其他用户局域网资源,为保护自身安全性,提供代理使外界访问代理服务器。
2、 Nginx中的代理(正向代理)
Resolver指令:用于指定DNS服务器的IP地址。
proxy_pass指令:用于设置代理服务器的协议和地址。不仅用于代理服务,更重要的是反向代理。proxy_pass URL
proxy_pass http://110.114.26.58:7080/appserver/;
server {
resolver 8.8.8.8;
listen 80;
location / {接收到的所有请求都由location块过滤处理。
proxy_pass http://110.114.26.58:7080/appserver/;
}
}
Nginx代理服务器不支持正向代理HTTPS站点。
3、 Nginx中的反向代理
Nginx服务器同时接收的用户连接由worker_processes 和 worker_connections 决定。
proxy_pass指令:设置被代理服务器的地址。
proxy_pass http://110.114.26.58:7080/appserver/;
如果代理服务器是一组服务器,可以使用upstream指令
Upstream proxy_svrs{
server http://110.114.26.58:7080/appserver/;
server http://110.114.26.59:7080/appserver/;
server http://110.114.26.60:7080/appserver/;
}
server {
listen 80;
server_name test.apphy.com;
location / {
proxy_pass proxy_svrs;
}
}
}
或:
Upstream proxy_svrs{
server 110.114.26.58:7080/appserver/;
server 110.114.26.59:7080/appserver/;
server 110.114.26.60:7080/appserver/;
}
server {
listen 80;
server_name test.apphy.com;
location / {
proxy_pass http://proxy_svrs;
}
}
}
4、在URL是否包含URI处理方式是不同的
server {
listen 80;
server_name test.apphy.com;
location / appserver/ {
proxy_pass http://110.114.26.58:7080;
}
}
}
访问http://www.test.apphy.com/server/,nginx服务器会把地址转到http://110.114.26.58:7080/server,
server {
listen 80;
server_name test.apphy.com;
location / appserver/ {
proxy_pass http://110.114.26.58:7080/loc/;
}
}
}
访问http://www.test.apphy.com/server/,nginx服务器会把地址转到http://110.114.26.58:7080/loc/
使用proxy_pass指令,如果不想改变原地址中的URI就不要在URL中配置URI。
5、简单介绍一些指令
Proxy_hide_header指令:设置nginx 服务器在发送http响应时,隐藏一些头域信息。
Proxy_pass_request_body指令:设置是否将客户端请求的请求体发送给代理服务器。
Proxy_pass_request_body on|off
Proxy_pass_request_heades指令:设置是否将客户端请求的请求头发送给代理服务器。
Proxy_pass_request_heades on|off
proxy_set_header指令:更改nginx服务器接受到的客户端请求的请求头信息,然后把新的请求头发送给被代理的服务器。
proxy_set_header Host $host;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_body指令:更改nginx服务器接受到的客户端请求的请求体信息,然后把新的请求体发送给被代理的服务器。
Proxy_connect_timeout指令:配置nginx服务器与后端被代理服务器尝试建立连接的超时时间。
proxy_method指令:设置nginx服务器请求代理被服务器时使用的请求方法,POST/GET。
6、 proxy buffer
他们的配置都是针对每一个请求起作用的,而不是全局的概念,nginx服务器不会提供一个公共的proxy buffer供代理请求使用。
proxy buffer启用后,nginx服务器会异步地将被代理服务器的响应数据传递给客户端。
Nginx服务器尽可能的从被代理服务器那里接收响应数据。放到proxy buffer中,buffer大小有proxy buffersize 和proxy_temp_path指令设置。
在接收过程中,发现buffer不够大来接收一次响应数据,nginx服务器会把部分数据临时放到磁盘的临时文件中。一次响应数据接收完成或者buffer已经满了,nginx服务器开始向客户端传输数据。
每一个proxy buffer满后,从开始向客户端传输数据到数据全部传输给客户端的整个过程中,它都是处于busy状态,期间对他的进行的操作都会失败。
当proxy buffer关闭时,nginx服务器只要接到响应数据就会同步地传递给客户端,它本省不会读取完整的响应数据。
Proxy_buffering指令:设置是否启用proxy buffer。
Proxy_buffering on|off 默认是开启的。
Proxy_buffers指令:设置接收一次被代理服务器响应数据的Proxy_buffer个数和每个buffer大小。Proxy_buffers number size;
Proxy_temp_path指令:配置磁盘上的一个文件路径,用于临时存放代理服务器的大体积响应数据。
以上资料纯属个人学习使用,不做其他用途。
- nginx架构(三)Nginx服务器的代理服务
- 18.nginx 服务器的代理服务
- 第七章 Nginx服务器的代理服务【笔记】
- 自学nginx(三): nginx + gunicorn的反向代理
- 1. 服务器架构(nginx)
- nginx代理websocket服务
- 运维之高级服务篇------2. Nginx服务器 、 Nginx虚拟主机 、 Nginx反向代理
- nginx++服务器代理工具
- Nginx代理apache服务器
- Nginx 之六: Nginx服务器的反向代理功能
- nginx代理访问服务器下的文件
- 代理s3的nginx缓存服务器配置
- Tomcat系列之服务器的基本配置及Nginx反向代理tomcat服务——(一)
- Tomcat系列之服务器的基本配置及Nginx反向代理tomcat服务——(二)
- 初实nginx服务器配置之反向代理服务技术
- Nginx架构WEB服务器
- Nginx服务器架构
- 14. Nginx 服务器架构
- LintCode 29 交叉字符串
- 【error】VS2010 LINK1123: failure during conversion to COFF: file invalid or corrupt
- 调停者模式(Mediator Pattern,对象行为型模式,中介者模式)
- android自适应屏幕
- 浙大校赛 ZOJ 3956Course Selection System (01背包)
- nginx架构(三)Nginx服务器的代理服务
- 递推递归练习M
- 24段魔尺--小海龟图案
- 动态规划练习一 24:鸣人的影分身
- 10023---linux查看及修改文件权限以及相关
- The first girlfriend -- AngularJS
- 13:最大上升子序列和
- HashMap实现原理
- 递推递归练习N