Nginx配置反向代理
在server块中配置
1 | #监听80端口 |
也可以根据访问路径的不同来访问不同的服务器
1 | server { |
※proxy_pass
proxy_pass将请求传递给HTTP服务器,这个也是用的最多的
proxy_pass
http://baidu.com
; # 设置被代理服务器的地址proxy_redirect off; # 用于修改被代理服务器返回响应头中的location和refresh头,与proxy_pass搭配,修改响应头Location值,off表示直接返回proxy_pass后的值,默认为default(客户端请求的URI)
proxy_pass_header field; #默认情况下,nginx服务器在发送响应报文时,报文头中不包含”Date”、”Server”、”X-Accel”等来自被代理服务器的头域信息,该指令可以设置这些头域信息以被发送,field为需要发送的头域
proxy_hide_header field; 用于设置nginx服务器在发送http响应时,隐藏一些头域信息,field为要隐藏的头
proxy_pass_request_body on | off; 用于配置是否将客户端请求的请求体发送给代理服务器,默认开启
proxy_pass_request_headers on | off; 用于配置是否将客户端请求的请求头发送给代理服务器,默认开启
proxy_set_header field value; 可以更改nginx服务器接收到的客户端请求的请求头信息,然后将新的请求头发送给被代理的服务器,field为要更改的请求头,value为值
proxy_connect_timeout 600;# 设置Nginx服务器与后端被代理服务器尝试建立连接的超时时间,默认为60s
proxy_read_timeout 600; # 设置Nginx服务器向后端被代理服务器发出read请求后,等待响应的超时时间,默认为60s
proxy_send_timeout 600; # 设置Nginx服务器向后端被代理服务器发出write请求后,等待响应的超时时间,默认为60s
proxy_method method; 设置nginx服务器被代理服务器时使用的请求方法,如POST、GET等
proxy_ignore_headers field … ; 用于设置一些http响应头中的头域,nginx服务器接收到被代理服务器的响应数据后,不会处理被设置的头域
proxy_buffering: on; # 设置是否开启Proxy Buffer,默认为on
proxy_buffer_size 8k; # 设置Nginx服务器从被代理服务器获取的第一段数据buffer大小,一般和proxy_buffers设置的buffer大小一致,或者更小, 默认为4k或者8k
proxy_buffers 4 32k; # 设置Proxy Buffer的个数和每个Buffer的大小
proxy_busy_buffers_size 64k; # 设置处在Busy状态的Buffer总大小上限,默认为8K或者16K
proxy_temp_file_write_size 64k; #当超过内存允许大小时,存到临时文件
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; # upstream设置被代理服务器集群时,设置组内服务器出现哪些异常时,可以依次轮询到下一个组内服务器处理
proxy_set_body value; 更改nginx服务器接收到的客户端请求的请求体信息,然后将新的请求体发送给代理的服务器
fastcgi_pass
fastcgi_pass将请求传递给FastCGI服务器
1 | fastcgi_connect_timeout 3000; |
uwsgi_pass
uwsgi_pass将请求传递给uwsgi服务器(如python服务)
scgi_pass
scgi_pass将请求传递给SCGI服务器
memcached_pass
memcached_pass将请求传递给memcached服务器