主要是定义,则可能在启动或重新配置期间发生分段错误Bugfix

下载地址 | 立异表明

原标题:nginx 1.17.7 主线版发布 来源:开源中夏族民共和国nginx
会同有的时候候保证着多个分支,分别为 mainline 主线版和 stable 稳固版。不过在
nginx
中,“稳固”指的是职能和改革频率,它与软件品质毫无干系。稳固分支在其生命周期中从不选拔新功用,何况普通仅接到一个或七个更改,用于修复严重的荒谬。nginx
1.17.7(mainline version)公布了,此版本重假诺修补
bug,更动内容如下:Bugfix:假设在配置中央银行使了蕴涵空替换字符串的”rewrite”指令,则恐怕在运行或重新配置时期发生疏段错误Bugfix:要是将”break”指令与”alias”指令或带有
UENVISIONI 的”proxy_pass”指令一齐行使,则只怕在 worker
进度中生出分段错误Bugfix:假如央浼 U奥德赛I 被重写为含有空字符的
UPAJEROI,则”Location”的响应 header
行恐怕含有垃圾Bugfix:使用”error_page”指令回到重定向时,带有正文的伸手会被错误管理;该错误在
0.7.12 中冒出过Bugfix:使用 HTTP/2 时现身 socket 泄漏的景色Bugfix:在
SSL 连接中拍卖流程需要时或许会生出超时; 该错误在 1.17.5中出现过Bugfix: in the ngx_http_dav_module.下载地址 | 更新表明

配置 location


nginx 可依据央浼的
UENVISIONI,将做客量转载给区别的后端服务器,恐怕将分歧的文件提须要客商端。那几个效果由
location
指令定义,location 指令在 server 区块中定义。

比如,你能够定义多少个 location
区块,将部分央浼转载给二个后端服务器,将另风流倜傥对呼吁转载给另三个不豆蔻年华的后端服务器,余下的呼吁从地面的文件系统中提供顾客端所央浼的公文。

当八个伸手提交了有些虚构主机之后,nginx 将央浼的 ULX570I
与该虚构主机内享有的 location 指令的概念实行自查自纠,然后将诉求映射到万分的
location 之中。

在每一个 location 区块中,平日能够放置更加多的 location
指令(有少数例外),用于进一层对央浼实行分组管理。

Note: 在本文中,location 那些词只象征三个单独的 location
上下文。

location 指令可定义二种参数:

  • 前缀字符串(路线名)
  • 正则表达式

假定二个呼吁的 U景逸SUVI 以某些 前缀字符串 为起始,则与该 location 匹配。

上面举一个 前缀字符串 的事例,在下边的事例中,该 location 的参数为
/some/path/ ,它能合作相近于 UCR-VI 为 /some/path/document.html
的请求:

location /some/path/ {
    ...
}

正则表明式必需包括前缀 ~~*(忽视大小写)。在底下的事例中,该
location 可同盟富含 .html 或者 .htm 的请求:

location ~ \.html? {
    ...
}

为了找到有些 U传祺I 的特级匹配,nginx 首先相比 U凯雷德I 和 前缀字符串,然后相比较U奥迪Q3I 和 正则表达式。

正则表明式具备更高的优先级,除非正则表明式使用了 ^~ 修饰符。

在装有相称的 前缀字符串 中,nginx
接收之中最长及最完整的前缀字符串所对应的 location。

下边是规范的查找 loction 的长河:

  1. 将 U君越I 与富有的 前缀字符串 实行相比较
  2. 修饰符 = 表示 URI 与 前缀字符串
    必得标准相称。假设能够标准相配,则停止查找
  3. 若是在合营的最长的 前缀字符串 前加多了 ^~
    修饰符,则不会再检查正则表达式
  4. 封存相称的最长的 前缀字符串
  5. 测量试验 UPRADOI 和 正则表明式的相配情状
  6. 即便找到相配的正则表达式,则停止查找,并选用相应的 location
  7. 万风华正茂未有相称的正则表明式,使用保留匹配的最长的 前缀字符串

借使对于 / 的伸手很频仍,可为 location / 增多 =
修饰符,那样能够加速管理进程,因为二回相配查找就可以甘休:

location = / {
    ...
}

在 location
区块中,可匹配将央浼转载给后端服务器。在底下的例子中,对于相配第一个location 的呼吁,将被转载给
www.example.com

server {
    location  {
        root /data;
    }

    location / {
        proxy_pass http://www.example.com;
    }
}

root
指令钦命了提供静态文件的本土路线。假如需要的 ULacrosseI 匹配第二个 location,将
U凯雷德I 追加到 /data
之后就能够获取文件的拜望路线:/data/URI。举例诉求的 U奥迪Q3I 为
xample.png,nginx 将 /dataxample.png
文件重回给顾客端。

proxy_pass
指令用于将恳求转载给后端服务器,参数值即为后端服务器的拜访路径UEnclaveL。从后端服务器取回响应之后,nginx
再转载给顾客端。在地方的例证中,全数不以 ** 发轫的
UCR-VI,对应的呼吁将被转载给后端服务器。

重写HTTP重回音讯

sub_filter一声令下扶助重写或修正HTTP乞求的响应内容,如替换有个别字符串。该指令扶植变量和链式替换。

下例中,将本着服务器的链接改为指向代理服务器的链接:

location / {
    sub_filter      /blog/ /blog-staging/;
    sub_filter_once off;
}

另叁个事例是将http诉求改为https央求,并将号令头部的本土主机地址改为主机名。sub_filter_once指令用于告诉Nginx是还是不是延续执行location中的sub_filter指令。

location / {
    sub_filter     'href="http://127.0.0.1:8080/'%20%20%20%20'href="https://$host/';
    sub_filter     'img src="http://127.0.0.1:8080/'%20'img%20src="https://$host/';
    sub_filter_once on;
}

注意:被sub_filter指令纠正后的从头到尾的经过将不会再被别的sub_filter指令改革。

实际的搜索匹配流程如下:

  • Bugfix:如若在配备中利用了蕴藏空替换字符串的”rewrite”指令,则恐怕在开发银行或重新配置时期发目生段错误

  • Bugfix:如若将”break”指令与”alias”指令或含有 U凯雷德I
    的”proxy_pass”指令一同行使,则或许在 worker 进度中产生疏段错误

  • Bugfix:假设须要 U奇骏I 被重写为含有空字符的 UENCOREI,则”Location”的响应
    header 行只怕含有遗弃物

  • Bugfix:使用”error_page”指令回到重定向时,带有正文的伏乞会被错误管理;该错误在
    0.7.12 中现身过

  • Bugfix:使用 HTTP/2 时现身 socket 泄漏的情况

  • Bugfix:在 SSL 连接中拍卖流程需要时或然会生出超时; 该错误在
    1.17.5 中现身过

  • Bugfix: in the ngx_http_dav_module.

  • 确立虚构服务器
  • 配置 location
  • 行使变量
  • 重临钦定的状态码
  • URI 重写
  • 对 HTTP Response 实行重写
  • 管理错误

错误管理

error_page命令用于再次回到三个自定义错误页面和叁个错误代码、改正响应中的错误代码或重定向到分化的UPRADOI。在底下的事例中,error_page命令回到404错误和三个不当页:

error_page 404 /404.html;

只顾:该指令并不会马上赶回(那是return指令做的事),仅仅内定出错开上下班时间如何地理。错误代码可以能来自于代理服务器,也恐怕源于Nginx本身(如Nginx未有找到伏乞的公文)。

在底下的例子中,当Nginx未能找到央求的页面时,不会回来404,而会回来303和贰个重定向到新页面指令。那日常用于拍卖顾客端访问旧地址的事态。

location /old/path.html {
    error_page 404 =301 http:/example.com/new/path.html;
}

以下例子中,当访谈二个荒诞不经的文件时,Nginx会将倡议重定向到http://backend。由于error_page命令未内定重定向代码,该代码将由重定向后的http://backend返回。

server {
    ...
    location  {
        # Set the root directory to search for the file
        root /data/www;

        # Disable logging of errors related to file existence
        open_file_cache_errors off;

        # Make an internal redirect if the file is not found
        error_page 404 = /fetch$uri;
    }

    location /fetch/ {
        proxy_pass http://backend/;
    }
}

在上述例子中,当呼吁文件未找届时,error_page指令将发起叁个之中重定向。$url变量持有当前倡议的UQashqaiI,并被传送给重定向。

假诺供给的some/file文件未找到,将被重定向到/fetchsome/file,同期搜寻新的location。最终,必要将被第二个location管理,并被代理到http://backend

open_file_cache_errors一声令下可用于未找到央求文件时,幸免发生错误新闻。在上述例子中得以忽视,因为破绽百出已被准确管理。

读书从前,建议先读书初识 Nginx。 之后,大家来询问一下 Nginx 配置。

图片 1

每个 杜撰服务器 都定义了 location 区块,location
区块定义了对于钦赐的生机勃勃组 U福特ExplorerI 是怎么着开展管理的。

采用变量

因此在安插文件中采纳变量,能够让Nginx以不一样的秘技管理央求。变量的值在运转时总括得到,并可看作参数传递给指令。变量必得以$伊始。变量基于Nginx的意况定义音讯,如正被拍卖诉求的质量。

Nginx富含众多预设的变量,如core HTTP变量集,也得以应用setmapgeo指令来自定义变量。大好些个变量都在运作时总结值,这一个值日常都饱含有些央求的相关消息。如$remote_addr包含了IP地址,而uri则带有了脚下做客的URI

proxy_pass 指令将伏乞传递到 U卡宴L
指向的代理服务器。让后现在自代理服务器的响应转载给客商端。
在上头的示范中,全部不以 /images / 起头的 UWranglerI
的央求都将传递给代理服务器管理。

此处有贰个摄像,有意思味能够看看:nginx
安装与调优,个中描述了以下核心:

配置Location指令

Nginx依照U奥德赛L将央求发送给分裂的代办,或拍卖不相同的公文乞求。由server命令中的location一声令下配置准绳。

比方,可认为杜撰服务器配置多个location指令,将部分伸手发送给代理服务器#1,将其它一些倡议发送给代理服务器#2,再由地面文件系统管理剩余乞请。

Nginx会将呼吁的UXC60L相称全部的location命令,请实践匹配location中的指令。各个location命令中何足为奇还大概会含有多条更为精细匹配的location指令。

location指令包括两类参数:前缀字符串正则表达式。央求要合作前缀字符串的话,必得从前缀字符串最初。

以下例子中location参数相配以/some/path/开头的伸手UKoleosI,如/some/path/document.html(不匹配/my-site/some/path,因为/some/path不在早先地方)。

location /some/path/ {
    ...
}

~用以相配区分轻重缓急写的正则表明式,~*用以相配不区分朗朗上口写的正则表明式。上面例子相称率性包涵.html.htm的URI。

location ~ \.html? {
    ...
}

Nginx先相称前缀字符串,然后再相称正则表明式。正则表达式具有较高优先级,除非接收^~修饰符。在有着前缀字符串中,Nginx会筛选最纯粹的不得了,约等于最长最相称的极其。详细相配进度如下:

  1. 极度全数前缀字符串;
  2. 设若有三个=概念的纯粹相配前缀字符串,甘休继续合营;
  3. 如果^~在最长相称的前缀字符串早前,将忽视正则表明式;
  4. 积累最长的同盟前缀字符串;
  5. 相配正则表明式;
  6. 找到第三个相相配的正则表达,甘休相称进度,并执行该location指令;
  7. 如果未有正则表达式相配,则选拔第4部存款和储蓄的最长前缀字符串;

=修饰符的规范应用是相称
/伸手。针对反复拜望/的情况,将location参数设置为= /能够加速管理进度,因为全数匹配进程在率先条之后就得了了。

location = / {
    ...
}

location一声令下内足以安排哪些管理乞请:管理静态文书档案或将诉求转载给代理服务器。在底下的例子中,相称第四个location的呼吁能够访谈/data目录的文书,相称第一个location的号召将被转正到www.example.com服务器。

server {
    location  {
        root /data;
    }

    location / {
        proxy_pass http://www.example.com;
    }
}

其中root命令钦赐了静态文件的文件系统路线,将与央求U福特ExplorerI一齐构成静态文件的完全路线。在上述例子中,供给xample.png将再次来到服务器上位居/dataxample.png的文件。

proxy_pass命令将号令转载到代理服务器,并将代理服务器的响应再次来到给顾客端。在上述例子中,全部不是以“开头的UHavalI伏乞都将被转化到代理服务器。

回去特定状态码

  • nginx 如何令你的行使能越来越快响应、具有更加好的伸缩性、更加快、更安全?
  • 如何设置 nginx
  • 为 nginx 调度操作系统参数

增添虚构服务器

Nginx配置文件中起码含有一条定义虚构服务器的server一声令下。当Nginx管理三个伸手时,第叁个被入选的假造服务器将用来拍卖该诉求。

编造服务器通过http一声令下中的server指令来定义,示举例下:

http {
    server {
        # 服务器配置
    }
}

http中得以分包多条server命令来定义四个虚构服务器。

通常server一声令下中会包括一条listen一声令下,用于钦赐该设想服务器就要监听的IP地址和端口。示举例下:

server {
    listen 127.0.0.1:8080;
    # 其他配置
}

要是不填写端口,则采用标准端口。假诺不填写ip地址,则监听全数地方。假如缺点和失误整条listen指令,则标准端口是80/tcp,私下认可端口是8000/tcp,由一流顾客的权柄调节。

假如有多个server配置了平等的ip地址和端口,Nginx会相称server_name指令与乞请底部的host字段。server_name指令的参数能够是规范的公文、通配符或正则表明式。通配符能够在字符串的头顶、后面部分或两端包涵**能够相称大肆字符。Nginx采纳Perl格式的正则表明式,以~初步。以下是二个精确相称的例证:

server {
    listen      80;
    server_name example.org www.example.org;
    ...
}

假若有八个server_name匹配host字段,Nginx依照以下准则选拔第多个相相配的server处理恳求:

  1. 准确相称
  2. *开首的最长通配符,如*.example.org
  3. *终极的最长通配符,如mail.*
  4. 先是个非常的正则表达式(依照在铺排文件中冒出的先后顺序)

假设找不到其余与host字段相匹配的server_name,Nginx会根据诉求端口将其发送给暗许的server。暗许server正是配置文件中率先个冒出的server,也得以由此default_server钦赐有个别server为暗许server,如下所示:

server {
    listen      80 default_server;
    ...
}
location = / {
    ...
}
  • 转折倡议到后端服务器(也正是将此 nginx
    服务器作为代理),也许重临一个文书;
  • 对 UCRUISERI 进行重写,将央浼重定向至别的的 location 大概其它虚构服务器;
  • 回到钦定的 error code,况兼可以为种种 error code 配置三个钦命的
    error page。

重写央浼中的UGL450I

在拍卖央求进度中,能够经过rewrite一声令下重复改进伏乞的U奔驰M级I。rewrite命令满含2个必填参数和1个可选参数。第多个参数是号令ULANDI必须同盟的正则表明式。第四个参数是要替换的对象USportageI。第五个为可选参数,可以是贰个是还是不是继续实践后续rewrite一声令下的暗记,也足以发送叁个重定向指令(状态码是301或302卡塔尔国。示比方下:

location /users/ {
    rewrite ^/users/(.*)$ /show?user=$1 break;
}

locationserver中都能够包蕴多个rewrite一声令下。Nginx从上到下依次磁性rewrite一声令下,每一趟步向server指令块时,rewrite命令都会被实行一次。

Nginx试行完大器晚成雨后冬笋rewrite一声令下后,依照最新的UTiggoI来抉择location指令。如果location中也满含rewrite指令,它们也将被每个推行,试行完成后将再次接受location

下边是二个rewritereturn一同合作利用的例证。

server {
    ...
    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
    rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra  last;
    return  403;
    ...
}

这些事例用于区分两套分裂的UCR-VI。近似于/download/some/media/file的U奥迪Q5I将被改写为/download/some/mp3/file.mp3。由于最终的标记last,Nginx将忽视随后的两条指令,然后以新的UEvoqueI继续管理诉求。同样地,雷同于/download/some/audio/file的UEvoqueI将被改写为/download/some/mp3/file.ra。假诺需要U宝马X3I都不相配上述两条rewrite指令,Nginx将重返403错误代码。

rewrite命令能够蕴含以下二种参数,用于中断管理进度:

  • last –
    甘休实践当前serverlocation中的rewrite一声令下,并以新的U福睿斯I查找新的location;
  • break –
    停止实践当前上下文意况内的rewrite命令,并不以新的UMuranoI查找新的location;

对刘恒则表明式,以 ~ 着石英表示大小写敏感,以 ~*
起首表示大小写不灵活。注意路线中的 . 要写成 . 。比如叁个天造地设以 .html
大概 .htm 结尾的 URAV4I 的 location:

树立设想服务器


在 nginx 配置文件中,必需满含最少三个 server 指令,server
指令定义了一个假造服务器。当一个伸手到来时,nginx
首先要调控取舍哪二个诬捏服务器管理该央求。

server 指令在 http context 中开展定义,举例:

http {
    server {
        # Server configuration
    }
}

http context 中,可增加四个 server 指令以定义四个虚构服务器。

server 区块中,常常会包含八个
listen
指令。listen 指令是用于定义该虚构服务器监听于哪个 IP地址
端口(或许定义二个 Unix socket 文件及路线)。IP地址可为 IPv4 或 IPv6
位置;IPv6 地方应放入方括号中。

以下是多少个例子,该服务器监听于 127.0.0.1 和 8080 端口:

server {
    listen 127.0.0.1:8080;
    # The rest of server configuration
}

只要不钦命端口地址,将采用专门的事业的端口地址,即 80 端口。假诺不点名 IP
地址,将监听于具有 IP 地址之上。若是 server 区块中绝非包蕴 listen
指令,依据一级顾客的权限,将运用 标准的 80/tcp 端口只怕 默认的
8000/tcp 端口。

万一还要有五个 虚构主机 匹配了诉求的IP地址和端口,nginx 将测验央浼的
Host 首部字段,将它与 server 区块中的
server_name
指令的安插进行相比。server_name
指令的值有二种:确切的主机名通配主机名正则表明式主机名。通配主机名在其开场、或最终有三个
* 符号,只怕最早和终极都有三个 * 符号,*
可同盟恣意长度的字符串;nginx 的正则表明式宽容 Perl
的正则语法,在正则表达式此前需有~前缀。

以下是有关 准确的主机名 的例子:

server {
    listen      80;
    server_name example.org www.example.org;
    ...
}

风华正茂经有多个 server_name 内定的主机名与央浼首部的 Host
字段相称,nginx 按如下的优先次序选用,当找到第一个能协作的 server name
就截止查找:

  1. 标准的主机名
  2. 以 “*” 初叶的最长的通配主机名,比方 *.example.org
  3. 以 “*” 结尾的最长的通配主机名,比方 mail.*
  4. 第多少个极其的正则表明式(依照安顿文件中的顺序)

假使没有找到与 Host 字段相称的 server name,nginx
将把伏乞路由到该端口地址的 暗中同意的设想主机
若无特别钦命,暗中认可的设想主机 就是 nginx.conf
文件中的第二个概念的 设想主机。也能够利用 listen 指令的
default_server 参数字显示式地内定一个虚构主机为 私下认可的虚构主机

server {
    listen      80 default_server;
    ...
}

回来钦命状态码

些微网址在管理错误或重定向时,会供给当即重临二个状态码。最简便的不二等秘书籍正是运用return一声令下,如下所示:

location /wrong/url {
    return 404;
}

return命令的首先个参数是叁个状态码。第四个是可选参数,能够是重定向的U奇骏L(当状态码是301、302、303和307时),也能够是回到的文件音讯。示举例下:

location /permanently/moved/url {
    return 301 http://www.example.com/moved/here;
}

locationserver中都能够分包return指令。

server {
    listen      80 default_server;
    ...
}

编译自:
nginx-web-server

在 Nginx 管理大器晚成组 rewrite 指令之后,它依照新的 UWranglerI 选拔 location 。
假设所选 location 如故包罗 rewrite 指令,它们将相继试行。 如若 U本田UR-VI
匹配全数,则在管理完全体定义的 rewrite 指令后,搜索新的 location 。

接收变量


nginx.conf
中可应用变量。变量的值在运作时展开总计,可作为指令的参数使用。引用变量,使用
$ 符号,比如 $remote_addr。变量的概念消息信赖于 nginx
当前的气象,比方当前被拍卖的伸手的性质等。

有许多变量是预订义的,比方 core
HTTP
定义的变量;此外你也得以自定义变量,使用
set,map,或
geo
指令张开自定义。

大多数变量的值是在运营时总括出来的,在那之中包涵特定乞求的音讯。比方
$remote_addr 包涵客户端的 IP地址 信息,而 $uri 包括当前的 U传祺I 值。

将 U瑞虎I 与富有的前缀字符串进行相比。
= 修饰符阐明 UEscortI
必得与前缀字符串相等(不是发端,而是相等),如若找到,则寻找甘休。
万风华正茂找到的最长前缀匹配字符串以 ^~ 领头,则不再寻找正则表达式是还是不是相配。
仓库储存相称的最长前缀字符串。
测量检验对照 UPAJEROI 与正则表明式。
找到第一个门户大致的正则表达式后截止。
要是未有正则表明式相称,使用 4 存款和储蓄的前缀字符串对应的 location。
= 修饰符具备最高的优先级。如网站首页访谈频仍,大家得以特意定义二个location 来减弱寻找相配次数(因为寻找到 = 修饰的非凡的 location
将甘休搜索),进步速度:

在 location 中可作如下概念:

比如说 /download/some/media/file 的 UWranglerI 被改为 /download/some/DVD/file.mp3。 由于 last 标记,后续指令(第贰个 rewrite 指令和 return
指令)被跳过,但 Nginx 继续以改动后的 U奥迪Q7I 处理央浼。 相像地,诸如
/download/some/audio/file 的 ULacrosseI 被轮流为 /download/some/VCD/file.ra。
要是 U中华VI 不相配 rewrite 指令,Nginx 将403 错误代码再次回到给顾客端。

目录

有无数预订义变量,举个例子大旨的 HTTP 变量,你也足以选择 set,map 和 geo
指令定义自定义变量。
大好多变量在运转时总括,并含有与特定央浼相关的信息。 举例,$remote_addr
包罗顾客端 IP 地址,$uri 保存当前UENCOREI值。

  • 对怎么样 U本田UR-VL 进行拍卖
  • 如哪处理对于那些 U奥迪Q7L 的 HTTP 伏乞

UWranglerI 与 location 参数的合作
当选拔好 server 之后,Nginx 会依据 U福睿斯Is 采用合适的 location
来调整代理央浼只怕重临文件。

越多关于如何铺排 nginx 的新闻,可参考 Creating NGINX Plus Configuration
Files。

location /wrong/url {
    return 404;
}

管理错误


使用
error_page
指令,你能够安排 nginx :

  • 回去三个 error code 以致三个自定制的页面;
  • 在响应报文中,替换三个例外的 error code
  • 发送重定向指令给浏览器,指向分歧的 U奇骏I

在下边包车型客车例子中,error_page 指令钦命了 /404.html
页面,那个页面在重回 404 code 时会风流浪漫并重返给客商端:

error_page 404 /404.html;

要细心的是,那个命令不是立时再次回到该错误给顾客端(那是 return
指令做的事),那只是概念了要是拍卖该错误。该 error code
可来自于二个后端服务器,恐怕在 nginx 做一些管理时现身(举个例子,当 nginx
无法找到央求的文书时,将赶回 404 错误)。

上边包车型大巴事例中,当 nginx 找不到央求的页面时,它将 code 404 替换为了 code
301,并将回来多少个重定向给顾客端:http:/example.com/new/path.html

其生龙活虎构造是很有用的,当客商端尝试以一个老旧的 U奥德赛I
央浼页面时,可回到重定向指令,令其访谈在新路线下的文书。

code 301
告诉浏览器,该页面已经被永世地调换来了其它地方,它要求将回到的新之处替换原本的老之处:

location /old/path.html {
    error_page 404 =301 http:/example.com/new/path.html;
}

上面的事例中,当呼吁
路线下的文书发出文件未找到的错误时,通过其间重定向倒车到后端服务器。因为在
error_page 指令中,在 =
前面未有定义替换的状态码,所以回来给顾客端的情事码由后端服务器内定(不必然是
404):

server {
    ...
    location  {
        # Set the root directory to search for the file
        root /data/www;

        # Disable logging of errors related to file existence
        open_file_cache_errors off;

        # Make an internal redirect if the file is not found
        error_page 404 = /fetch$uri;
    }

    location /fetch/ {
        proxy_pass http://backend/;
    }
}

error_page 指令告诉 nginx ,当产生 file not found
错误时,做二个之中的重定向。$uri 变量的值为当前伏乞的
U路虎极光I,在重定向中被转载给了后端服务器。

例如,如果 some/file 未找到,它被替换为
/fetchsome/file,对这么些新 UHavalI,nginx 会查找与其相当的
location,这里正是 location /fetch/,然后就被转载给后端服务器了。
(可参考
反向代理)

当发送 file not found
错误时,open_file_cache_errors
指令在那间用于防止记录错误日志。因为央求已经被转载给后端,所以不应该记录错误日志。


版权音讯
*本文编写翻译自
nginx.com

listen:
Nginx 配置文件最少含有三个 server 命令
,用来定义设想服务器。当号召到来时, Nginx
会首先选用叁个杜撰服务器来管理该须求。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章