Nginx http模块(七)

来源:百度文库 编辑:神马文学网 时间:2024/04/20 18:22:00

Nginx 如何确定的匹配哪个路径

   所有路径先以字母顺序进行排序,然后nginx将查询内容依次与每个path进行比较,直到request URI的值高于路径list里的当前字符串。值的比较是依靠strcmp()函数家数的函数来进行的,一旦 strcmp()返回1 ,搜索即停止,一旦搜索停止就使用最后一个匹配的字符串。

看个例子,我们有个path list 如下

/

/a

/apple

/banana

当服务器,获得了”/az”这样一个querynginx开始在list里向下搜索。首先”/”匹配,但是其值低于在“/az”,于是搜索继续;”/a”也匹配,但其值较之“/az”也低搜索继续;对于”/apple”不匹配,继续;“/banana”高于“/az”的值,于是搜索结束,使用最后一个匹配上的path/a”。

Msie_padding

语法:mise_padding [on | off]

默认值:mise_padding on

Contexthttpserver location

此指令关闭或开启MSIE浏览器的msie_padding 特性的,若启用了此选项,nginx将会为response头部填满至512字节,这就阻止了相关浏览器激活友好错误页面,从而不会隐藏更多的错误信息。

Msie_refresh

语法:msie_refresh [ on | off]

默认值:msie_refresh off

Contexthttpserverlocation

此指令允许或禁止为MSIE指派一个 refresh而不是重定向。

Optimize_server_names

语法:optimize_server_names [ on | off]

默认值:optimize_server_name on

Contexthttpserver

激活或解主机名优化,为基于名字的虚拟服务器检测。

特别的,检查会影响在重定向中使用的主机名。如果优化被激活,并且所有监听在一个address:port对的基于名字的服务器使用同一个配置,那么在请求执行期间不会检查名字,而且重定向时使用第一个服务器。

如果重定向必须使用从客户端传过来的主机名,那么优化就必须解除。