加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

你真的相识怎样将Nginx设置为Web处事器吗

发布时间:2018-12-13 23:13:06 所属栏目:业界 来源:lufficc.com
导读:抽象来说,将 Nginx 设置为 Web 处事器就是界说处理赏罚哪些 URLS 和如那里理赏罚这些URLS 对应的哀求。详细来说,就是界说一些假造处事器(Virtual Servers),节制具有特定 IP 和域名的哀求。 更详细的来说, Nginx 通过界说一系列 locations 来节制对 URIS 的选择

一个简朴的应用就是从 http 重定向到 https 时带上路径信息:

  1. server{    
  2.        ...    
  3.        return      301 https://lufficc.com$request_uri;    
  4.        ...    

返回特定状态码

假如你的网站上的一些资源永世移除了,最快最简捷的要领就是行使 return 指令直接返回:

  1. location /wrong/url {    
  2.     return 404;    

return 的第一个参数是相应代码。可选的第二个参数可所以重定向(对应于代码301,302,303和307)的 URL 或在相应正文中返回的文本。 譬喻:

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

return 指令可以包括在 location 和 server 上下文中:

  1. server{       
  2.       location / {       
  3.               return 404;       
  4.       }       

可能:

  1. server{    
  2.       ...    
  3.       return 404;    
  4.       location / {    
  5.           ...                
  6.       }    

错误处理赏罚

error_page 呼吁可以设置特定错误码的错误页面,可能重定向到其他的页面。下面的示例将在 404 错误产生时返回 /404.html 页面。

  1. error_page 404 /404.html; 

error_page 呼吁界说了如那里理赏罚错误,因此不会直接返回,而 return 确实会当即返回。当署理处事器可能 Nginx 处理赏罚时发生响应的错误的代码,均会返回响应的错误页面。

在下面的示例中,当 Nginx 找不到页面时,它将行使代码301替代代码404,并将客户端重定向到http://example.com/new/path.html 。 此设置很有效,好比当客户端仍实行用旧的 URI 会见页面时,301代码关照赏识器页面已永世移除,而且必要自动替代为返回的新地点。

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

重写 URIs

rewrite 指令可以多次修改哀求的 URI。rewrite 的第一个参数是 URI必要匹配的正则表达式,第二个参数是将要替代的 URI。第三个参数可选,指示是否继承可以重写可能返回重定向代码(301或302)。譬喻:

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

您可以在 server 和 location 上下文中包罗多个 rewrite 指令。 Nginx 凭证它们产生的次序一个一个地执行指令。 当选择 server 时,server 中的 rewrite 指令将执行一次。

在 Nginx 处理赏罚一组 rewrite 指令之后,它按照新的 URI 选择 location 。 假如所选 location 仍然包括 rewrite 指令,它们将依次执行。 假如 URI 匹配全部,则在处理赏罚完全部界说的 rewrite 指令后,搜刮新的 location 。

以下示例将 rewrite 指令与 return 指令团结行使:

  1. server {    
  2.     ...    
  3.     rewrite ^(/download/.*)/media/(.*)..*$ $1/mp3/$2.mp3 last;    
  4.     rewrite ^(/download/.*)/audio/(.*)..*$ $1/mp3/$2.ra  last;    
  5.     return  403;    
  6.     ...    

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读