免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 886 | 回复: 0
打印 上一主题 下一主题

Apache2运用mod_deflate提升网络页面浏览速度 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-09 14:54 |只看该作者 |倒序浏览

打开模组
/usr/local/apache2/bin/apxs -i -c /yourpath/httpd-2.2.3/modules/filters/mod_deflate.c
LoadModule deflate_module modules/mod_deflate.so
如果想只压缩html,text,xml 如果下面配置:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
在apache的使用手册上还有这么一句,但是不知道为什么不能添加上去.
# Make sure proxies don't deliver the wrong content
  • Header append Vary User-Agent env=!dont-vary
    这个可以压缩 SVN 出来的文件。
    ———————————————
    不能添加的原因是下面的模组没有打开:
    LoadModule headers_module modules/mod_headers.so
    Apache deflate模块配置说明
    前几天一直在找apache2.0以dso方式编译后加载deflate模块的办法
    试了apxs -ica mod_deflate.c N次,始终是报
    Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate
    异常的痛苦,什么ldd mod_deflate.so后再export LIB_LIBRARY_PATH呀,都试了N次,google也go了N天。终于在google上go出来一篇文章,终于解决,方法如下:
    vi /usr/local/apache2/bin/apr-config
  • 修改LDFLAGS=" " 为 LDFLAGS="-lz"
  • 然后再apxs -ica mod_deflate.c
  • 就OK了

  • 另外在配置deflate规则时
    apache2.0推荐加上这句
    Header append Vary User-Agent env=!dont-vary
    以便确保不会输出在压缩过程中出现内容方面的error
    但一般情况下,在测试apache的语法过程中会现出
    Invalid command ‘Header’, perhaps mis-spelled or defined by a module not included in the server configuration
    解决办法就是加载一个headers模块就OK了
    不过最好还是在编译apache模块时直接加上–enable-deflate –enable-headers就省事多了。
    配置 Apache 实现禁止图片盗链
    1、假设充许连结图片的主机域名为:www.demo.com.cn
    2、修改httpd.conf
    SetEnvIfNoCase Referer "^http://www.demo.com.cn/" local_ref=1

  •     Order Allow,Deny
  •     Allow from env=local_ref

  • 这个简单的应用不光可以解决图片盗链的问题,稍加修改还可以防止任意文件盗链下载的问题。
    使用以上的方法当从非指定的主机连结图片时,图片将无法显示,如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。
    首先在安装 apache 时要加上 –enable-rewrite 参数加载 mod_rewrite 模组。
    假设“禁止盗链”的图片为abc.gif,我们在 httpd.conf 中可以这样配置:
    RewriteEngine on
  • RewriteCond %{ HTTP_REFERER } !^$
  • RewriteCond %{ HTTP_REFERER } !^http://(www\.)?demo.com.cn /.*$ [NC]
  • RewriteRule \.(gif|jpg)$ http://www.demo.com.cn/abc.gif [R,L]
    当主机的图片被盗链时,只会看到 abc.gif 这张“禁止盗链”的图片!


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/88611/showart_2066332.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP