博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx反向代理
阅读量:6507 次
发布时间:2019-06-24

本文共 1913 字,大约阅读时间需要 6 分钟。

一:

1.反向代理

  反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。  

 

二:配置

1.代理服务器的基本配置

  通过不同协议将NGINX请求传递给代理的服务器,

  修改发送到代理服务器的客户端请求标头,

  以及配置来自代理服务器的响应缓冲

 

2.将请求传递给代理的服务器

  代理通常用于在多个服务器之间分配负载,无缝地显示来自不同网站的内容,或者通过HTTP以外的协议将请求传递给应用服务器

  要将请求传递给HTTP代理服务器,则在一个块内指定指令。

location /some/path/ {      proxy_pass http://www.example.com/link/;  }

  代理服务器的地址后面是URI为 /link/。 如果URI与地址一起指定,它将替换与location参数匹配请求URI的部分。 例如,这里使用/some/path/page.html的URI请求将被代理到http://www.example.com/link/page.html

  该地址可以指定为域名或IP地址。 该地址还可能包括一个端口:

location ~ \.php {      proxy_pass http://127.0.0.1:8000;  }

 

3.传递请求标头

  默认情况下,NGINX在代理请求“Host” 和 “Connection”中重新定义了两个头字段,并消除了其值为空字符串的头字段。

  “Host”设置为$proxy_host变量,“Connection”设置为关闭(close)。

  要更改这些设置,以及修改其他header字段,请使用proxy_set_header指令

location /some/path/ {      proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_pass http://localhost:8000;  }

 

4.配置缓冲区

  默认情况下,NGINX缓存来自代理服务器的响应。

  响应存储在内部缓冲区中,并且不会发送到客户端,直到收到整个响应。

  缓冲有助于通过慢客户端优化性能,如果响应从NGINX同步传递到客户端,这可能会浪费代理服务器时间。

  然而,当启用缓冲时,NGINX允许代理服务器快速处理响应,而NGINX存储响应时间与客户端需要下载的时间一样长。

 

  负责启用和禁用缓冲的指令是。 默认情况下,它被设置为开启且缓冲已启用。

  proxy_buffers指令控制分配给请求的缓冲区的大小和数量。

  来自代理服务器的响应的第一部分存储在单独的缓冲区中,其大小由指令设置。 这部分通常包含一个比较小的响应头,并且可以比其余的响应的缓冲区小。

location /some/path/ {      proxy_buffers 16 4k;      proxy_buffer_size 2k;      proxy_pass http://localhost:8000;  }

 

  缓存被禁用。

  则在从代理服务器接收缓冲时,响应将同步发送到客户端。 对于需要尽快开始接收响应的快速交互式客户端,此行为可能是可取的。

  要禁用特定位置的缓冲,请在location块中将proxy_buffering伪指令设置为off

location /some/path/ {      proxy_buffering off;      proxy_pass http://localhost:8000;  }

5.选择传出IP地址

  如果您的代理服务器有多个网络接口,有时您可能需要选择特定的源IP地址才能连接到代理服务器或上游。

  如果NGINX后端的代理服务器只配置为接受来自特定IP网络或IP地址范围的连接,在这种情况下,这个配置选项就很有用。

location /app1/ {      proxy_bind 127.0.0.1;      proxy_pass http://example.com/app1/;  }  location /app2/ {      proxy_bind 127.0.0.2;      proxy_pass http://example.com/app2/;  }
 

转载地址:http://ytwfo.baihongyu.com/

你可能感兴趣的文章
[zz]在linux中出现there are stopped jobs 的解决方法
查看>>
Delphi下实现全屏快速找图找色 一、数据提取
查看>>
查询表字段信息
查看>>
logback与Log4J的区别
查看>>
关于机器学习的最佳科普文章:《从机器学习谈起》
查看>>
dxFlowChart运行时调出编辑器
查看>>
NET Framework 3.0 (WinFX) RTM发布
查看>>
图片拼接器
查看>>
C++ TinyXml操作(含源码下载)
查看>>
读取swf里所有类定义
查看>>
DOWNLOAD 文件
查看>>
ogre场景图与场景内容分离
查看>>
中断小笔记
查看>>
C#委托、事件、消息(入门级)
查看>>
通信常用概念
查看>>
FreeBinary 格式说明
查看>>
使用Spring Cloud和Docker构建微服务
查看>>
常用链接
查看>>
NB-IoT的成功商用不是一蹴而就
查看>>
九州云实战人员为您揭秘成功部署OpenStack几大要点
查看>>