资讯专栏INFORMATION COLUMN

Nginx深入了解-进阶(一)

reclay / 2218人阅读

摘要:用来作为静态资源服务浏览器缓存跨域防盗链等。非服务器动态运行生成的文件。防盗链配置配置实例这里只允许头为的地址和搜索过来的,可以便于优化

Nginx用来作为静态资源web服务;CDN、浏览器缓存、跨域、防盗链等。

非服务器动态运行生成的文件。

类型 种类
浏览器端渲染 HTML、CSS、JS
图片 JPG、GIF、JPEG、PNG
视频 FLV、MPEG
文件 TXT等
- 静态资源服务CDN.

配置语法-文件读取

Syntax:sendfile on|off
Default:sendfile off
Context:http、server、location、if on location

配置语法-tcp_nopush(在sendfile开启的情况下,提高网络包的传输效率)

Syntax:tcp_nopush on|off
Default:tcp_nopush off
Context:http、server、location

配置语法-tcp_nodelay(在keepalive连接下,提高网络包的传输实时性)

Syntax:tcp_nodelay on|off
Default:tcp_nodelay off
Context:http、server、location

配置语法-压缩(压缩传输文件)

Syntax:gzip on|off
Default:gzip off
Context:http、server、location、if on location

Syntax:gzip_comp_level
Default:gzip_comp_lvel 1;
Context:http、server、location

syntax:gzip_http_version 1.0|1.1
Default:gzip_http_version 1.1
Context:http、server、location

扩展Nginx压缩模块

http_gzip_static_module-预读gzip功能
http_gunzip_module-应用支持gunzip压缩方式

配置实例:

server {
    ...
    sendfile on;
    
    location ~ .*.(jpg|png|gif)$ {
        gzip on;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    }
    
    location ~ .*.(txt|xml)$ {
        gzip on;
        gzip_http_version 1.1;
        gzip_comp_level 1;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    }
    
    location ~ ^/download {
        gzip on;
        tcp_nopush on;
        gzip_static on;
        ...
    }
}
- 浏览器缓存
优先级 机制 参数
1 校验是否过期 Expires、Cache-Control(max-age)
2 协议中的Etag头信息校验 Etag
3 Last-Modified头信息校验 Last-Modified

配置实例:

server {
    ...
    expires 24h;
}
- 跨域访问

通俗地讲,跨域访问就是在访问某一个网址(www.mantis.me) 的同时访问另一个网址(www.xxx.com) ,对于浏览器来说这是不允许的,因为容易出现CRSF攻击,浏览器会阻止这种行为。

配置语法:

Syntax:add_header name value [always]
Default:--
Context:http、server、location、if in location

浏览器会检查Access-Control-Allow-Origin对应的值,提示错误:

XMLHttpRequest cannot load http://www.mantis.me/. The "Access-Control-Allow-Origin" header has a value "http://www.xxx.com" that is not equal to the supplied origin. Origin "http://www.mantis.me/" is therefore not allowed access.

配置实例:

server {
    ...
    location ~ .*.(html|htm)$ {
        ...
        add_header Access-Control-Allow-Origin www.xxx.com; // 允许所有可以设置为*(不建议,容易被跨域攻击)
        add_header Access-Control-Allow-Methods POST,GET,OPTIONS,PUT,DELETE;
    }
}
- 防盗链

防止资源被盗用,其他网站盗用我们网站的资源链接信息导致资源信息被盗用同时还有可能导致我们服务器的压力增大。

http_refer防盗链配置

Syntax:valid_referers none|blocked|server_names|string...;
Default:---
Context:server、location

配置实例:

server {
    location ~ .*.(jpg|jpeg|png|gif)$ {
        ...
        valid_referers blocked www.mantis.me ~/baidu./;// 这里只允许refer头为www.mantis.me的地址和baidu搜索过来的,可以便于seo优化
        if ($invalid_referer) {
            return 403;
        }
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40042.html

相关文章

  • Nginx深入了解-进阶(三)

    摘要:负载均衡,简称是一种服务器或网络设备的集群技术。负载均衡将特定的业务网络服务网络流量等分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。 Nginx负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。 Nginx负载均...

    kycool 评论0 收藏0
  • Nginx深入了解-进阶(四)

    摘要:同样可以用来作为缓存服务客户端浏览器缓存我们称之为客户端缓存,后端使用等缓存服务我们称之为后端缓存,同理作为缓存服务我们就称之为代理缓存。缺点当文件很大时或者很小时,可能会导致文件描述符耗尽等情况。 Nginx同样可以用来作为缓存服务;客户端浏览器缓存我们称之为客户端缓存,后端使用Redis、Memcache等缓存服务我们称之为后端缓存,同理Nginx作为缓存服务我们就称之为代理缓存。...

    miya 评论0 收藏0
  • Nginx深入了解-进阶(二)

    摘要:客户端服务配置实例只允许访问服务器配置客户端使用代理工具配置代理服务器,例如系统自带扩展工具等,配置相应的代理服务器地址。在浏览器输入即可访问。 Nginx作为代理服务.正向代理:代理对象为客户端.反向代理:代理对象为服务端. 反向代理 配置语法: Syntax:proxy_pass URLDefault:--Context:location、if in location、limit_...

    keithyau 评论0 收藏0
  • 你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看)

    摘要:导读阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己进行查漏补缺,觉得本文对你有帮助的话,可以点赞关注一下。目录一基础篇二进阶篇三高级篇四架构篇五扩 导读:阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己...

    huaixiaoz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<