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

前端开发者必备的Nginx知识

发布时间:2019-03-13 04:45:43 所属栏目:建站 来源:精致的前端
导读:nginx在应用程序中的作用 解决跨域 请求过滤 配置gzip 负载均衡 静态资源服务器 nginx是一个高性能的HTTP和反向代理服务器,也是一个通用的TCP/UDP代理服务器,最初由俄罗斯人Igor Sysoev编写。 nginx现在几乎是众多大型网站的必用技术,大多数情况下,我

现在我们只需要启动一个nginx服务器,将server_name设置为fe.server.com,然后设置相应的location以拦截前端需要跨域的请求,最后将请求代理回dev.server.com。如下面的配置:

  1. server {  
  2.         listen       80;  
  3.         server_name  fe.server.com;  
  4.         location / {  
  5.                 proxy_pass dev.server.com;  
  6.         } 

这样可以完美绕过浏览器的同源策略:fe.server.com访问nginx的fe.server.com属于同源访问,而nginx对服务端转发的请求不会触发浏览器的同源策略。

请求过滤

根据状态码过滤

  1. error_page 500 501 502 503 504 506 /50x.html;  
  2.     location = /50x.html {  
  3.         #将跟路径改编为存放html的路径。  
  4.         root /root/static/html;  
  5.     } 

根据URL名称过滤,精准匹配URL,不匹配的URL全部重定向到主页。

  1. location / {  
  2.     rewrite  ^.*$ /index.html  redirect;  

根据请求类型过滤。

  1. if ( $request_method !~ ^(GET|POST|HEAD)$ ) {  
  2.         return 403;  
  3.     } 

配置gzip

GZIP是规定的三种标准HTTP压缩格式之一。目前绝大多数的网站都在使用 GZIP 传输 HTML、CSS、JavaScript 等资源文件。

对于文本文件,GZip 的效果非常明显,开启后传输所需流量大约会降至 1/4 ~ 1/3。

并不是每个浏览器都支持gzip的,如何知道客户端是否支持gzip呢,请求头中的Accept-Encoding来标识对压缩的支持。

启用gzip同时需要客户端和服务端的支持,如果客户端支持gzip的解析,那么只要服务端能够返回gzip的文件就可以启用gzip了,我们可以通过nginx的配置来让服务端支持gzip。下面的respone中content-encoding:gzip,指服务端开启了gzip的压缩方式。

前端开发者必备的Nginx知识 

  1. gzip                    on;  
  2.    gzip_http_version       1.1;  
  3.    gzip_comp_level         5;  
  4.    gzip_min_length         1000;  
  5.    gzip_types text/csv text/xml text/css text/plain text/javascript application/javascript application/x-javascript application/json application/xml; 

gzip

  •  开启或者关闭gzip模块
  •  默认值为 off
  •  可配置为 on / off

gzip_http_version

  •  启用 GZip 所需的 HTTP 最低版本
  •  默认值为 HTTP/1.1

这里为什么默认版本不是1.0呢?

HTTP 运行在 TCP 连接之上,自然也有着跟 TCP 一样的三次握手、慢启动等特性。

(编辑:厦门网)

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

热点阅读