本篇文章主要介绍了"nginx conf文件结构介绍以及相关配置",主要涉及到方面的内容,对于PHPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
本文简单介绍nginx conf文件的结构,已经如何进行配置:如何配置nginx提供静态内容,如何配置nginx作为代理服务器,如何配置转发请求到FastCGI...
- proxy_pass:
该指令是反向代理的基本指令,用于设置代理服务器的协议和地址;对于一个client的请求,proxy_pass指令通过以下方式进行uri的转发:
- 如果proxy_pass指令的参数没有URI,那么请求的URI会被原样的传递给internal server。
- 如果proxy_pass指令的参数含有URI,client请求的URI匹配该location的部分将会被proxy_pass的path参数替换。
例如:请求为127.0.0.1/name/index.html 会被转发为:127.0.0.1/remote/index.html
location /name/ {
proxy_pass http://127.0.0.1/remote/;
}
说明:1.1.12之前,如果proxy_pass指令不含有URI,那么原始请求中的URI在某些情况下会被处理后再传递给proxy server。
在某些情况下,请求URI部分是否被替换是不能确定:
1. 在location指令的参数是一个正则表达式的时候;这个情况下,proxy_pass的参数应该不喊URI部分。
2. 当URI在location指令模块中被rewrite指令改变后,???
- proxy_pass_header:
语法:proxy_pass_header field
field参数是http所有的header名字,具体可以参考: [HTTP/1.1协议][1] P100 chapter14关于HTTP协议所有header field的定义。
该指令用于特定的http header从proxy server传回给client。因为默认情况下有些header是不会回传给client的。默认情况下,nginx不会把proxy server传回的参数中的”Data”, “Server”, “X-Pad”, “X-Accel-…”回传给client。其中proxy_hide_header指令,用于限定哪些header不回传给client。
- proxy_set_header:
语法:proxy_set_header field value;
该指令用于将client传递给proxy server的request header重新定义或者添加字段。Value可以是文本,变量和两者结合。
如果set 的header field的值为空,那么这个header是不会传递给proxy server的,例如:
proxy_set_header Accept-Encoding "";
默认情况下,只有以下两个字段会被重新定义:
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
其实默认定义往往不是我们期望要的,例如:Host header被置为了proxy_pass指令设置的代理server的url和port。但在实际应用中,我们往往是Host保留client的信息:
proxy_set_header Host $host;
一般情况下proxy server的location会进行以下基本的设置:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
2.5 配置FastCGI proxying