近日IIS總出問題,實在受不了,就把主站和下載欄目的環境改為Apache了。改完以后,許多問題就來了,比如原來在IIS中的限速、還有防盜鏈等,都要重新設置,搜索了一下,都整理出來,供大家學習。
先說限速,實現辦法只有一種,如下:
Bw_mod可以根據來源IP進行帶寬限制。
下載for windows 版本編譯好的:http://www.wfuwu.com/down/html/29247.html
1. 安裝mod_bw.dll模塊
把下載的mod_bw.dll放到 Apache2.xmodules目錄中。
2. 修改Apache的配置文件httpd.conf
在 Apache2.xconfhttpd.conf文件中增加:
# 限制網速模塊
LoadModule bw_module modules/mod_bw.dll
3. 在虛擬主機中激活bw_module模塊
要是對所有的主機都做限制可以在配置文件:Apache2.xconfhttpd.conf中增加:
# 加入速度控制mo
BandWidthModule On
ForceBandWidthModule On
BandWidth all 409600
再說一下防盜鏈,實現辦法有兩種:
1.利用Rewrite實現
首先要確認 Apache 的 rewrite module 可用:能夠控制 Apache httpd.conf 文件的,打開 httpd.conf,確保有這么一行配置:
LoadModule rewrite_module modules/mod_rewrite.so
然后在找到自己網站對應的
ServerName liehuo.net# 防盜鏈配置 RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://liehuo.net/.*$ [NC]RewriteCond %{HTTP_REFERER} !^http://liehuo.net$ [NC]RewriteCond %{HTTP_REFERER} !^http://www.wfuwu.com/.*$ [NC]RewriteCond %{HTTP_REFERER} !^http://www.wfuwu.com$ [NC]RewriteRule .*.(gif|jpg|swf)$ http://www.wfuwu.com/about/nolink.png [R,NC]
防盜鏈配置的說明:
然后重新啟動 apache 服務器即可。
有些用戶使用的是虛擬主機,沒有服務器的控制權,無法修改 httpd.conf 文件和重啟服務器。那么請確認你的虛擬主機支持 .htaccess,將上面的配置寫入 .htaccess 文件,放入根目錄或圖片所在的目錄即可:
.htaccess 文件的內容:# 防盜鏈配置 RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://liehuo.net/.*$ [NC]RewriteCond %{HTTP_REFERER} !^http://liehuo.net$ [NC]RewriteCond %{HTTP_REFERER} !^http://www.wfuwu.com/.*$ [NC]RewriteCond %{HTTP_REFERER} !^http://www.wfuwu.com$ [NC]RewriteRule .*.(gif|jpg|swf)$ http://www.wfuwu.com/images/nolink.png [R,NC]
注意:
2.修改httpd.conf文件
另一種方式是利用 SetEnvIfNoCase 和 access。具體的代碼如下:
SetEnvIfNoCase Referer "^http://liehuo.net" local_ref=1SetEnvIfNoCase Referer "^http://www.wfuwu.com" local_ref=1Order Allow,DenyAllow from env=local_ref
將上述代碼,放入前面所講的 httpd.conf 或 .htaccess 文件即可。
下面是引用木頭同學的:
位置一般情況下在 /usr/local/apache/conf/httpd.conf
或者apache 2.2 的 /usr/local/apache2/conf/extra/httpd-vhost.conf
添加
- SetEnvIfNoCase Referer "^http://www.ccvita.com" local_ref=1
- SetEnvIfNoCase Referer "^http://ccvita.com" local_ref=1
- <filesmatch ".(txt|doc|mp3|zip|rar|jpg|gif)">
- Order Allow,Deny
- Allow from env=local_ref
- </filesmatch>
其中粗體的是您的網址,如果有多個,就加多行
斜體的是您需要防盜鏈的文件后綴,中間用|隔開
還一種寫法,是用正則的,這種寫法在各個版本的apache比較通用。
寫法是
- SetEnvIfNoCase Referer "^http://.*.yourdomin.com" local_ref=1
- SetEnvIfNoCase Referer ".*.yourdomin.com" local_ref=1
- <filesmatch ".(txt|doc|mp3|zip|rar|jpg|gif)">
- Order Allow,Deny
- Allow from env=local_ref
- </filesmatch>
其中粗體的部分有一點區別,用正則寫法, 符號代表轉義,因為.本身在正則中有自己的作用。