Apache 配置静态缓存+禁止解析+限制访问目录

本文介绍了如何配置Apache以实现静态资源的缓存,防止盗链,并设置访问控制。通过修改配置文件,设置不同类型的资源缓存时间,如图片、CSS和JS。同时,通过设置Referer白名单实现防盗链,以及利用Directory和Filesmatch指令限制特定目录的访问。此外,还讲解了如何禁止解析PHP页面和拒绝特定User-Agent的访问,以及使用重写规则限制访问特定目录的方法。
摘要由CSDN通过智能技术生成

1.Apache 配置静态缓存


为了提高资源的利用率,可以设置文件缓存的时间长短
# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
找到:CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log  86400" combined env=!image-request
在这行下面插入 expires.c静态模块
  <IfModule mod_rewrite.c>
        ExpiresActive on
        ExpiresByType image/gif "access plus 1 days"
        ExpiresByType image/jpeg "access plus 24 hours"
        ExpiresByType image/png "access plus 24 hours"
        ExpiresByType image/css "now plus 2 hour"
        ExpiresByType application/x-javascript "now plus 2 hours"
        ExpiresByType application/x-shockwave-flash "now plus 2 hours"
        ExpiresDefault "now plus 0 min"
</IfModule>

可以设置分钟,小时,天,月的时间单位
"now plus 0 min"------->不进行缓存


/usr/local/apache2/conf/extra/httpd-vhosts.conf -t
/usr/local/apache2/conf/extra/httpd-vhosts.conf graceful 重新加载配置文件


验证:点击图片 右键复制 图片地址
curl -x127.0.0.1:80  'http://www.jqm.com/static/image/common/forum.gif'  -I
    HTTP/1.1 200 OK
    Date: Mon, 08 Aug 2016 12:21:51 GMT
    Server: Apache/2.2.24 (Unix) PHP/5.4.36
    Last-Modified: Tue, 31 May 2016 03:08:36 GMT
    ETag: "80677-257-5341ab0597500"
    Accept-Ranges: bytes
    Content-Length: 599
    Cache-Control: max-age=86400
    Expires: Tue, 09 Aug 2016 12:21:51 GMT
    Content-Type: image/gif


图片的地址操作:
在论坛中右击任意图片,出现选项框后选择复制图像地址{:4_107:}
注意:max-age=86400------>86400为一天,符合设置的1天



2.2.3 Apache配置防盗链

找到:

        ExpiresDefault "now plus 0 min"
</IfModule>   在这后面插入如下:


    SetEnvIfNoCase Referer "^http://.*\.dubingyu\.com" local_ref#白名单,自己的名单需要在白名单里面
     SetEnvIfNoCase Referer ".*\.qzone.qq\.com" local_ref             #白名单,允许用的网

     SetEnvIfNoCase Referer  "^$"  local_ref                                  #做个空白文挡referer
    <filesmatch> "\.(txt|doc|mp3|zip|rar|jpg|gif|png|js|css)">
     Order Allow,Deny
     Allow from env=local_ref
    </filesmatch>

按:wq保存退出,检测语法,重新启动,页面在刷新。。。。。




3.Apache访问控制

[root@yiqiang ~]# vim /usr/local/apache2/conf/httpd.conf  拷贝模板

[root@yiqiang ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf  插入 虚拟配置文件里,没有固定位置
<Directory "/data/www">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    Deny from 127.0.0.1
</Directory>
按:wq保存退出,apachectl -t  检测,重启,接着curl测试:

[root@yiqiang ~]# curl -x192.168.1.106:80 -I www.dubingyu.com   结果为301
root@yiqiang ~]# curl -x127.0.0.1:80 -I www.dubingyu.com    结果为301
[root@yiqiang ~]# curl -x192.168.1.106:80 -I www.dubingyu.com/forum.php  结果为200 ok.
 [root@yiqiang ~]# curl -x127.0.0.1:80 -I www.dubingyu.com/forum

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值