Chinaunix首页 | 论坛 | 博客
  • 博客访问: 171123
  • 博文数量: 65
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-16 08:59
文章分类

全部博文(65)

文章存档

2011年(3)

2010年(3)

2009年(43)

2008年(16)

我的朋友

分类: LINUX

2009-10-09 14:54:02

打开模组

  1. /usr/local/apache2/bin/apxs -i -c /yourpath/httpd-2.2.3/modules/filters/mod_deflate.c
  2. LoadModule deflate_module modules/mod_deflate.so
  3. 如果想只压缩html,text,xml 如果下面配置:

    1. AddOutputFilterByType DEFLATE text/html text/plain text/xml
  4. 在apache的使用手册上还有这么一句,但是不知道为什么不能添加上去.

    1. # Make sure proxies don't deliver the wrong content
    2. Header append Vary User-Agent env=!dont-vary

    这个可以压缩 SVN 出来的文件。

    ———————————————

    不能添加的原因是下面的模组没有打开:

    1. LoadModule headers_module modules/mod_headers.so
  5. Apache deflate模块配置说明
    前几天一直在找apache2.0以dso方式编译后加载deflate模块的办法
    试了apxs -ica mod_deflate.c N次,始终是报

    1. 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出来一篇文章,终于解决,方法如下:

    1. vi /usr/local/apache2/bin/apr-config
    2. 修改LDFLAGS=" " 为 LDFLAGS="-lz"
    3. 然后再apxs -ica mod_deflate.c
    4. 就OK了
  6. 另外在配置deflate规则时
    apache2.0推荐加上这句

    1. 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、假设充许连结图片的主机域名为:
2、修改httpd.conf
  1. SetEnvIfNoCase Referer "^http:///" local_ref=1
  2.     Order Allow,Deny
  3.     Allow from env=local_ref

这个简单的应用不光可以解决图片盗链的问题,稍加修改还可以防止任意文件盗链下载的问题。

使用以上的方法当从非指定的主机连结图片时,图片将无法显示,如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。

首先在安装 apache 时要加上 –enable-rewrite 参数加载 mod_rewrite 模组。

假设“禁止盗链”的图片为abc.gif,我们在 httpd.conf 中可以这样配置:

  1. RewriteEngine on
  2. RewriteCond %{ HTTP_REFERER } !^$
  3. RewriteCond %{ HTTP_REFERER } !^http://(www\.)?demo.com.cn /.*$ [NC]
  4. RewriteRule \.(gif|jpg)$ http:///abc.gif [R,L]

当主机的图片被盗链时,只会看到 abc.gif 这张“禁止盗链”的图片!

阅读(629) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~