• Nginx反向代理服务器的配置


    反向代理服务器的概念:
           反向代理是指用代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给Internet上请求连接的客户端。
     
    Nginx反向代理服务器的特点:
           Nginx具有很强的高并发高负载能力,其一般会配置为既使静态Web服务器也是反向代理服务器。当请求内容是静态文件时,Nginx作为静态Web服务器直接给予回应;当请求内容是动态文件,不适合Nginx处理时,Nginx会作为反向代理服务器将请求转发给上游服务器。
          Nginx作为反向代理服务器时,当收到客户端的HTTP请求时,它不会立即转发到上游服务器,而是先把用户的请求(包括HTTP包体)完整地接收到Nginx所在服务器的磁盘或内存中,然后再向上游服务器发起连接,把缓存的客户端请求转发到上游服务器。(ps:Squid等反向代理服务器则是一边接收请求,一边转发到上游服务器)
          这样的处理过程缺点是延长了一个请求的处理时间,并增加了用于缓存的磁盘或内存空间。而优点是降低了上游服务器的负载,使得压力尽量在Nginx反向代理服务器
          之所以可以降低上游服务器的负载,原因在于:Nginx代理服务器与上游服务器之间一般是“内网”连接,搭有VPN专线,传输速度较快。这样使得Nginx代理服务器与上游服务器之间的转发速率非常高,也就是使得一个Client连接占用上游服务器的时间会非常短,极大地降低了上游服务器的并发压力。
     
    Nginx反向代理服务器的配置:
        (1)proxy_pass
                 使用语法:proxy_pass URL;
                 使用说明:此配置项指定Nginx要代理的服务器,URL可以是host或IP+端口号的形式。例如:
                                    proxy_pass http://192.168.190.136:80
       (2)proxy_method
                 使用语法:proxy_method method;
                 使用说明:此配置项表示转发时的协议方法名,如GET、POST等。例如:
                                    proxy_method GET
       (3)proxy_hide_header
                 使用语法:proxy_hide_header the_header;
                 使用说明:默认情况下,Nginx不转发HTTP头部中的Date、Server、X-Pad、X-Accel-*。使用该配置项可以任意地指定哪些HTTP头部字段不会被转发。例如:
                                    proxy_hide_header Cathe-Control;
       (4)proxy_pass_header
                 使用语法:proxy_pass_header the_header;
                 使用说明:此配置项与(4)相反,可以将原本禁止转发的HTTP头部字段变为允许转发。例如:
                                    proxy_pass_header X-Pad;
       (5)proxy_pass_request_headers
                 使用语法:proxy_pass_request_headers on|off;
                 使用说明:此配置项表示是否允许转发HTTP头部。例如:
                                    proxy_pass_request_headers on;   
       (6)proxy_pass_request_body
                 使用语法:proxy_pass_request_body on|off;
                 使用说明:此配置项表示是否允许转发HTTP包体。例如:
                                    proxy_pass_request_body on;
       (7)proxy_next_upstream
                使用语法:proxy_next_upstream [error|timeout|http_500|http_502|http_503|http_504|off];
                使用说明:此配置项表示当一台上游服务器转发出错时,继续换一台上游服务器处理这个请求。默认情况下,一旦Nginx开始向Client发送响应包,之后过程中若出错则不允许换一台上游服务器继续处理。但是在某些情况下,允许在出错时选择换一台上游服务器继续处理,例如:
                                    proxy_next_upstream http_503;
     
  • 相关阅读:
    非模式窗体和模式窗体(转
    一次性帮你解决毕业论文的所有排版问题
    c# Wndproc的使用方法
    ref和out 转
    c# 基本语法(转)
    U盘装/虚拟光驱 装双系统
    U盘启动盘 装系统
    Hibernate查询条件封装对象Expression介绍 Hi
    asp.net实现 gridview 鼠标单击任意字段选中一行 ,并获取数据 Hi
    C#如何取出非公共成员 Hi
  • 原文地址:https://www.cnblogs.com/ladawn/p/8452309.html
Copyright © 2020-2023  润新知