基于Nginx的中间架构
常见Nginx的中间架构
- 静态资源WEB服务
- 代理服务代理服务
- 负责均衡调度器SLB负责均衡调度器SLB
- 动态缓存动态缓存
一、静态资源WEB服务
- 1、静态资源类型
非服务器动态运行生成的文件
类型 | 种类 |
---|---|
浏览器端渲染 | HTML、CSS、JS |
图片 | JPEG、GIF、PNG |
视频 | FLV、MPEG |
文件 | TXT等等任意文件 |
- 2、静态资源服务场景-CDN
- 3、Nginx静态资源配置语法
-
1.文件读取
Syntax: sendfile on|off;
Default: sendfile off;
Context:http,server,location,if in location -
2.tcp_nopush
Syntax: tcp_nopush on|off;
Default: tcp_nopush off;
Context:http,server,location
作用:sendfile开启的情况下,提高网络的传输效率。 -
3.tcp_nodelay
Syntax: tcp_nodelay on|off;
Default: tcp_nodelay off;
Context:http,server,location
作用:keepalive连接下,提高网络包的传输实时性。 -
4.压缩
Syntax: gzip on|off;
Default: gzip off;
Context:http,server,location,if in location
作用:压缩传输,nginx压缩所需要的文件,传输给浏览器,浏览器会自动解压。 -
5.压缩传输比
Syntax: gzip_comp_level level;
Default: gzip_comp_level 1;
Context:http,server,location -
6.压缩协议版本
Syntax: gzip_http_version 1.0|1.1;
Default: gzip_http_version 1.1;
Context:http,server,location
-
- 4、浏览器缓存
HTTP协议定义的缓存机制(如:Expires;Cache-control等)-
1.浏览器无缓存
-
2.客户端有缓存请求
-
3.校验过期机制
-
校验机制 | 字段 |
---|---|
校验是否过期 | Expiress、Cache-Control(max-age) |
协议中Etag头信息校验 | Etag |
Last-Modified头信息校验 | Last-Modified |
- 4.配置语法
Syntax: expiress [modified] time;
expiress epoch | max | off;
Default: expiress off;
Context: http,server,location,if in location;
-
5、跨域访问
为什么浏览器禁止跨域访问,主要不安全容易出现CSRF攻击。
虽然跨域访问,不安全,但实际应用中难免有跨域的场景出现,Ngnix跨域访问开启如下:
Syntax: add_header name value [always];
Default:------
Context: http,server,location,if in location;
(name默认为Access-Control-Allow-Origin,value为允许跨域请求的域名) -
6、防盗链
此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。
ngnix防盗链配置模块:
Syntax: valid_referers none | blocked | server_names | strings…;
Default:----------;
Context: server,location