近日IIS總出問(wèn)題,實(shí)在受不了,就把主站和下載欄目的環(huán)境改為Apache了。改完以后,許多問(wèn)題就來(lái)了,比如原來(lái)在IIS中的限速、還有防盜鏈等,都要重新設(shè)置,搜索了一下,都整理出來(lái),供大家學(xué)習(xí)。
先說(shuō)限速,實(shí)現(xiàn)辦法只有一種,如下:
Bw_mod可以根據(jù)來(lái)源IP進(jìn)行帶寬限制。
下載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文件中增加:
# 限制網(wǎng)速模塊
LoadModule bw_module modules/mod_bw.dll
3. 在虛擬主機(jī)中激活bw_module模塊
要是對(duì)所有的主機(jī)都做限制可以在配置文件:Apache2.xconfhttpd.conf中增加:
# 加入速度控制mo
BandWidthModule On
ForceBandWidthModule On
BandWidth all 409600
再說(shuō)一下防盜鏈,實(shí)現(xiàn)辦法有兩種:
1.利用Rewrite實(shí)現(xiàn)
首先要確認(rèn) Apache 的 rewrite module 可用:能夠控制 Apache httpd.conf 文件的,打開(kāi) httpd.conf,確保有這么一行配置:
LoadModule rewrite_module modules/mod_rewrite.so
然后在找到自己網(wǎng)站對(duì)應(yīng)的
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]
防盜鏈配置的說(shuō)明:
然后重新啟動(dòng) apache 服務(wù)器即可。
有些用戶(hù)使用的是虛擬主機(jī),沒(méi)有服務(wù)器的控制權(quán),無(wú)法修改 httpd.conf 文件和重啟服務(wù)器。那么請(qǐng)確認(rèn)你的虛擬主機(jī)支持 .htaccess,將上面的配置寫(xiě)入 .htaccess 文件,放入根目錄或圖片所在的目錄即可:
.htaccess 文件的內(nèi)容:# 防盜鏈配置 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 文件即可。
下面是引用木頭同學(xué)的:
位置一般情況下在 /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>
其中粗體的是您的網(wǎng)址,如果有多個(gè),就加多行
斜體的是您需要防盜鏈的文件后綴,中間用|隔開(kāi)
還一種寫(xiě)法,是用正則的,這種寫(xiě)法在各個(gè)版本的apache比較通用。
寫(xiě)法是
- 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>
其中粗體的部分有一點(diǎn)區(qū)別,用正則寫(xiě)法, 符號(hào)代表轉(zhuǎn)義,因?yàn)?本身在正則中有自己的作用。