nginx 正向代理与反向代理说明图
 
  
 
ASP站长网超级形象说明
 
正向代理指令: 
 
   1, resolver
 
    这个用于DNS服务器的ip . DNS服务器的主要工作是进行域名解析,将域名映射为对应IP地址
 
    resolver address ...  [valid = time ]
 
        address ,   DNS 服务器的ip地址, 不指定的话默认53
 
        time 设置数据包在网络中的有效时间.
 
      例: resolver 127.0.0.1 [::1]:52113 valids
 
   2, resolver_timeout
 
    设置DNS服务器域名解析超时时间
 
    语法结构: resolver_timeout  time;
 
   3, proxy_pass
 
    设置代理服务器的协议和地址,可以用于反向代理服务
 
    proxy_pass URL
 
          URL  为设置的代理服务器协议和地址
 
反向代理基本指令
 
    1,  proxy_pass
 
    设置代理服务器的协议和地址
 
    proxy_pass URL
 
          URL  为设置的代理服务器协议和地址
 
    使用这个指令时要注意:
 
    如果指令URL中变量不含有URI转向地址会只改变URL
 
    如果指令URL中变量含有URI转向地址会全部改变
 
     
 
    如果配置指令url后面带有/ 那么跳转同理
 
    2, proxy_hide_header 指令
 
    用于设置Nginx服务器发送http相应时,隐藏一些头域信息
 
      proxy_hide_header field;
 
      field 为需要隐藏的头域. 可以用于 http  server  localtion
 
    3,proxy_pass_header 指令
 
      默认Nginx 服务器在发送响应报文时,报文不包含 date server X-accel 等来自被代理服务器的头域信息,
 
      该指令可以设置这些头域信息已被发送
 
      proxy_pass_header filed;
 
      field 为需要隐藏的头域. 可以用于 http  server  localtion
 
    4, proxy_pass_request_body
 
      配置是否将客户端请求体发送给代理服务器
 
      proxy_pass_request_body on | off  可以用于 http  server  localtion
 
    5,proxy_pass_request_header
 
      配置是否将客户端的请求头发送给代理服务器
 
      proxy_pass_request_header 可以用于 http  server  localtion
 
    6, proxy_set_header
 
      用于更改Nginx服务器接收到的客户端请求的请求头,然后将新的请求头发送给被代理服务器
 
      proxy_set_header filed value
 
      field 要更改的信息所在的头域
 
      value  更改的值
 
    7, proxy_set_body
 
      更改Nginx服务器接收到的客户端请求的请求体信息,然后将新的请求体发送给被代理的服务器 
 
      proxy_set_body value
 
      value 为更改的信息
 
    8, proxy_bind
 
      强制将与代理主机的连接绑定到指定的ip主机
 
      proxy_bind address
 
      address 为IP地址
 
    9, proxy_connect_timout
 
      用于配置Nginx服务器与后端被代理服务器尝试连接的超时时间
 
      proxy_connect_timout time 默认时间时60秒
 
    10, proxy_read_timeout
 
      用于配置Nginx服务器向后端被代理服务器(组)发出read请求后,等待响应的超时时间
 
      proxy_read_timeout time; 默认时间时60秒
 
    11, proxy_send_timeout
 
         用于配置Nginx服务器向后端被代理服务器(组)发出write请求后,等待响应的超时时间
 
      proxy_send_timeout time;默认时间时60秒
 
    12, proxy_http_version
 
      用于设置Nginx服务器提供代理服务器的HTTP协议版本
 
      proxy_http_version 1.0 | 1.1 |2.0
 
    13, proxy_method
 
      用于设置Nginx服务器请求贝代理服务器使用的请求方法,设置了这个客户端的请求方法将会被忽略
 
      proxy_method method
 
      method 设置 POST | GET
 
     14 proxy_ignore_client_abort
 
      用于设置在客户端中断网络请求的时候,Nginx服务器是否中断对被代理服务器的请求,
 
      proxy_ignore_client_abort on | off
 
     15, proxy_ignore_headers
 
      用于设置一些HTTP相应头的头域,
 
      proxy_ignore_headers filed ...
 
      filed 为要设置的HTTP相应头的头域信息,例如"X-Accel-Redirect" "X-Accel-Expires" "Expores "  "Cache-Control " "Set-Cookie"
 
     16, proxy_redirect
 
      用于修改被代理服务器返回的相应头中的location和Refresh 与 proxy_pass指令配合使用
 
      语法结构:
 
        proxy_redirect   redirect replacement
 
        proxy_redirect   default
 
        proxy_redirect off
 
                 redirect  匹配localtion头域值的字符串
 
                  replacement 用于替换redirect变量的字符串
 
         假设前端url是example.com。后端server域名是csdn123.com,那么后端server在返回refresh或location的时候,host为csdn123.com,显然这个信息直接返回给客户端是不行的,需要nginx做转换,这时可以设置:
 
          proxy_redirect http://csdn123.com
 
nginx会将host及port部分替换成自身的server_name及listen port。不过这种配置对server_name有多个值的情况下支持不好。
我们可以用nginx内部变量来解决这一问题:
 
        proxy_redirect http://csdn123.com http://$host:$server_port
     17, proxy_intercept_errors
 
        配置一个状态的开启或者关闭
 
        proxy_intercept_errors on | off
 
     18, proxy_headers_hash_max_size
 
        存放HTTP报文头的哈希表的容量
 
        proxy_headers_hash_max_size size; 默认大小512
 
     19, proxy_headers_hash_bucket_size
 
        Nginx服务器申请存放HTTP报文头的哈希表容量的单位大小
 
        proxy_headers_hash_max_size 64;
 
     20, proxy_next_upstream
 
        如果Nginx定义了 upstream 后端服务器组,如果组内有异常情况,将请求顺次交给下一个组内服务器处理
 
        proxy_next_upstream status...
 
        status: error,timeout,invalid_header,http_500 502 503 504 404,off
 
     21, proxy_ssl_session_reuse
 
        该指令用于配置是否使用基于SSL安全协议的会话连接(htts://)被代理服务器,
 
        proxy_ssl_session_reuse on | off; 默认on
 
 
 
Proxy Buffer 指令详解:
 
     22,  proxy_buffering
 
        用于配置是否启用或者关闭proxybuff
 
        proxy_buffering on | off
 
��    23,  proxy_buffers 
 
        用于配置接收一次被代理服务器响应数据的Proxy Buffer个数和每个Buffer的大小.
 
        proxy_buffers number size;
 
        size一般设置为内存页大小.根据平台的不同,取值可能为4KB或者8KB
 
        proxy_buffers 8 4KB|8KB;
 
     24,   proxy_buffer_size
 
        用于配置从被代理服务器获取的第一部分响应数据的大小,默认为4k或者8k,保持与proxy_buffers指令中的size变量相同.
 
     25.  proxy_busy_buffers_size
 
        用于限制同时处于BUSY状态的Proxy Buffer的总大小.
  
        proxy_busy_buffers_size size;
 
        size为设置处于BUSY状态的缓存区总大小.默认为8KB或者16KB.
     26.      proxy_temp_path
 
        用于配置磁盘上的一个文件路径,用于临时存放被代理服务器的大体积响应数据.如果Proxy Buffer被装满后,响应数据仍然没有被Nginx服务器完全接收,之后响应的数据就会被临时存放在该文件中.语法结构为:
 
        proxy_temp_path path [level1 [level2 [level3]]]
 
      * path 磁盘上临时存放文件的路径
      * levelN 缓存文件存放在设置的路径的第几级hash目录中
 
    27.   proxy_max_temp_file_size
 
        用于设置所有临时文件的总大小.
 
        proxy_max_temp_file_size size;
 
        默认为:1024MB
    28.   proxy_temp_file_write_size
 
        用于配置同时写入临时文件的数据量的总大小
 
        proxy_temp_file_write_size size;
 
        默认设置根据平台的不同,可以为8KB或者16KB,一般与平台的内存也大小相同.

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。