nginx静态资源

1.静态资源类型

类型种类
浏览器端渲染HTML,CSS,JS        
图片GPEG,GIF,PNG
视频

FLV          MP4

文件TXT         任意下载文件

2.静态资源优化语法(当服务器出现错误时候开始优化)

sndfile        no|off文件高效读取
nopush        no|off提高网络传输效率
tcp_nodelay        no|off在keepalive连接下,提高网络的实时性
gizp        no|off

客户机与服务器传输过程中,都把包压缩完成再进行发送一起搭配这几个进行使用

gizp_comp_level  9; ##压缩比例有1-9这几个级别

gzip_types text/plain application/x-javascript text/css application/xml image/jpg; ##压缩的类型

3.http压缩的实验:

        3.1配置ngixn全局配置:

location \ {
        gzip on;
        gzip_comp_level 9;
        gzip_types text/plain application/x-javascript text/css application/xml image/jpg;
        root   html;
        index  index.html index.htm;
        }

重启文件:nginx -s reload

        进行测试curl -i http://192.168.100.*/1.jpg  就会出现包的大小,在html中ls -lh ,对比包是否被压缩了

3.服务器自动进行缓存:exprice 

location / {
            charset utf-8,gbk;  
            #exprice  1d  1d 就是一天   1h 就是1小时   一般应该是7天
            root   html;
            index  index.html index.htm;
        }

4. 静态资源跨域访问:

(1)跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

(2)所谓同源是指,域名,协议,端口均相同。

4.2浏览器为什么禁止跨域?
    (1)不安全,容易出现CSRF攻击 #crsf是跨站请求伪造
4.3实现跨域代理的方法
   location / {
          root  html;
          proxy_pass http://192.168.100.202;
          index  index.html   index.htm;
          add_header 'Access-Control-Allow-Origin' '*';
   }

5.防止恶意绑定域名

(1.)恶意绑定是指,别人将自己自己域名绑定到了公司IP

(2.)恶意绑定的解决方法

    server {
        listen       80;
        server_name _;  ##注意,前方有个空格,请不要忘记挖坑···
        return 500;
}

6.静态资源防盗链

6.1什么是盗链?
   (1)盗链指的是在自己的界面展示不在自己服务器上的内容,通过技术手段获得他人服务器上的资源地址,绕过别人资源展示页面,在自己页面向用户提供此内容,从而减轻自己服务器的负担,因此真实的空间和流量来自别人的服务器
   (2)防盗链设置思路:区别哪些请求是非正常用户请求。
6.2如何配置nginx防盗链?
        实验材料:两个图片,两台服务器,和主机的hosts文件
        实验要求:两台服务器都安装了nginx,两台都是对外服务,一台是为benet  另一台为accp,但accp是抄袭benet的图片,怎么才能让benet防止图片被盗取?
        accp的配置:
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.accp.com;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}


##################index.html
<img src="http://www.benet.com/1.jpg" />

   (1)在benet的nginx.cong中添加location配置文件      
​
  location ~* \.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|png|swf|flv|jpeg) {     #表示对这些后缀进行防盗链
            root   html;
            valid_referers none blocked  *.benet.com benet.com;        #允许访问的域名
            if  ($invalid_referer){     #if判断
                    rewrite ^/ http://www.accp.com/2.gif;           #防盗链跳转的页面
            }
        }
​

(2)在benet的hosts文件里添加域名(www.benet.com)和本地地址

[root@localhost ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.202 www.benet.com

(3) 在本地的C盘下的hosts文件里添加两个域名

192.168.100.202 www.benet.com
192.168.100.203 www.accp.com

开始测试······

最终效果为:只要是benet的网站都可以访问此图片,但accp访问的时候会被benet的if判断调配到其他图片

可能出现的问题:
accp文件指向域名和图片一定要加协议:http://
被指定的图片后缀不可以与location后的协议后缀重合,要不就会被加入防盗链
浏览器最好使用win7,win10的话一定要清理缓存
accp的hosts文件要指向www.benet.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摚张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值