使用referer指令配置Nginx服務(wù)器來(lái)防止圖片盜鏈
由于nginx不支持.htaccess,所以,從這個(gè)方面直接去防止是行不通的,我們要通過(guò)修改配置文件來(lái)解決。
首先,我們找到需要防盜鏈的域名的conf文件,路徑:/usr/local/nginx/conf/vhost/,比如guance.com.conf。先備份下原文件,然后找到下面的部分:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
將它修改為:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked www.dhdzp.com jb51.net;
if ($invalid_referer) {
rewrite ^/ http://www.dhdzp.com/404.jpg;
#return 404;
}
expires 30d;
}
上面的內(nèi)容,大家請(qǐng)根據(jù)個(gè)人的情況酌情修改,我這里做基本的解釋:
第一行g(shù)if|jpg|jpeg|png……這些是您需要防止盜鏈的文件類型,您可以補(bǔ)充一些后綴類型;
第三行是你的網(wǎng)站的域名,就是說(shuō)放行的域名,如果有多個(gè),請(qǐng)?zhí)砑?,注意空格?br />
第五行是給盜鏈看到的圖片,返回一個(gè)404.jpg,這個(gè)圖片源地址是要可以外鏈的哦,不然,別人看到的也就一個(gè)XX。
完成之后保存,上傳到原位置覆蓋,之后重啟下lnmp使之生效。
/root/lnmp restart
referer指令簡(jiǎn)介
nginx模塊ngx_http_referer_module通常用于阻擋來(lái)源非法的域名請(qǐng)求.我們應(yīng)該牢記,偽裝Referer頭部是非常簡(jiǎn)單的事情,所以這個(gè)模塊只能用于阻止大部分非法請(qǐng)求.我們應(yīng)該記住,有些合法的請(qǐng)求是不會(huì)帶referer來(lái)源頭部的,所以有時(shí)候不要拒絕來(lái)源頭部(referer)為空的請(qǐng)求.
語(yǔ)法: referer_hash_bucket_size size;
默認(rèn)值: referer_hash_bucket_size 64;
配置段: server, location
這個(gè)指令在nginx 1.0.5中開(kāi)始出現(xiàn).
Sets the bucket size for the valid referers hash tables. The details of setting up hash tables are provided in a separate document.
語(yǔ)法: referer_hash_max_size size;
默認(rèn)值: referer_hash_max_size 2048;
配置段: server, location
這個(gè)指令在nginx 1.0.5中開(kāi)始出現(xiàn).
Sets the maximum size of the valid referers hash tables. The details of setting up hash tables are provided in a separate document.
語(yǔ)法: valid_referers none | blocked | server_names | string ...;
默認(rèn)值: —
配置段: server, location
指定合法的來(lái)源'referer', 他決定了內(nèi)置變量$invalid_referer的值,如果referer頭部包含在這個(gè)合法網(wǎng)址里面,這個(gè)變量被設(shè)置為0,否則設(shè)置為1.記住,不區(qū)分大小寫(xiě)的.
參數(shù)說(shuō)明
none
“Referer” 來(lái)源頭部為空的情況
blocked
“Referer”來(lái)源頭部不為空,但是里面的值被代理或者防火墻刪除了,這些值都不以http://或者h(yuǎn)ttps://開(kāi)頭.
server_names
“Referer”來(lái)源頭部包含當(dāng)前的server_names(當(dāng)前域名)
arbitrary string
任意字符串,定義服務(wù)器名或者可選的URI前綴.主機(jī)名可以使用*開(kāi)頭或者結(jié)尾,在檢測(cè)來(lái)源頭部這個(gè)過(guò)程中,來(lái)源域名中的主機(jī)端口將會(huì)被忽略掉
regular expression
正則表達(dá)式,~表示排除https://或http://開(kāi)頭的字符串.
最后
圖片使用來(lái)源頭部做防盜鏈?zhǔn)亲詈侠淼? 簡(jiǎn)單、實(shí)用。但是沒(méi)有辦法防采集。
相關(guān)文章
nginx服務(wù)器中access_log日志分析與配置詳解
通過(guò)訪問(wèn)日志,可以知曉用戶的地址,網(wǎng)站的哪些部分最受歡迎,用戶的瀏覽時(shí)間,對(duì)大多數(shù)用戶用的的瀏覽器做出針對(duì)性優(yōu)化。下面這篇文章主要給大家介紹了關(guān)于nginx服務(wù)器中access_log日志分析與配置的相關(guān)資料,需要的朋友可以參考下。2017-12-12
Nginx反向代理proxy_cache_path directive is not allowed錯(cuò)誤解決方法
這篇文章主要介紹了Nginx反向代理proxy_cache_path directive is not allowed錯(cuò)誤解決方法,需要的朋友可以參考下2015-04-04
Nginx流量拷貝ngx_http_mirror_module模塊使用方法詳解
這篇文章主要介紹了Nginx流量拷貝,Nginx專門(mén)提供了ngx_http_mirror_module模塊,用來(lái)實(shí)現(xiàn)流量拷貝。將生產(chǎn)環(huán)境的流量拷貝到預(yù)上線環(huán)境或測(cè)試環(huán)境2022-04-04
使用Nginx做靜態(tài)文件服務(wù)器,如何進(jìn)行權(quán)限驗(yàn)證
這篇文章主要介紹了使用Nginx做靜態(tài)文件服務(wù)器,如何進(jìn)行權(quán)限驗(yàn)證問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Nginx對(duì)網(wǎng)段內(nèi)ip的連接數(shù)限流配置詳解
這篇文章主要介紹了Nginx對(duì)網(wǎng)段內(nèi)ip的連接數(shù)限流配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能
做的過(guò)程出現(xiàn)很多問(wèn)題,環(huán)境其實(shí)就需要nginx就可以,然后就是在播放的問(wèn)題,m3u8的格式,mac直接訪問(wèn)就支持,蘋(píng)果系統(tǒng)原生H5支持m3u8,還有就是手機(jī)直接訪問(wèn)也支持!但是其他其他系統(tǒng)PC端不支持,嘗試了好多都不行,最后終于找到了一個(gè)支持m3u8格式H5播放2017-10-10

