最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過lua來配置實(shí)現(xiàn)Nginx服務(wù)器的防盜鏈功能

 更新時(shí)間:2016年01月06日 16:00:28   作者:moon  
這篇文章主要介紹了通過lua來配置實(shí)現(xiàn)Nginx服務(wù)器的防盜鏈功能的方法,這里主要講解生成鏈接的Nginx配置,需要的朋友可以參考下

下載服務(wù)器時(shí)常被人盜鏈,時(shí)間久了導(dǎo)致服務(wù)器大量資源浪費(fèi),由于服務(wù)器使用nginx做為web服務(wù)器。nginx的防盜鏈方法有很多,可以使用現(xiàn)成的防盜鏈模塊nginx-accesskey-2.0.3,編譯ningx時(shí)添加此模塊即可。
由于服務(wù)其他業(yè)務(wù)需要,所以nginx編譯了lua模塊,所以就想通過lua來實(shí)現(xiàn)下載服務(wù)器的防盜鏈功能(通過lua的Nginx模塊lua_nginx_module、這里不再詳細(xì)介紹配置過程),這樣就可以免去了accesskey模塊。原理就是生成經(jīng)過處理過的下載鏈接,然后下載服務(wù)器在處理這個(gè)下載鏈接,成功則下載,失敗則阻止。下面就是詳細(xì)的配置實(shí)例:
一、在下載頁面生成鏈接的nginx配置
download.jb51.net的配置:

server  
{  
    listen    80;  
    server_name download.jb51.net;  
    index index.htm index.html;  
    root /data/www/download;  
    ssi on;  
 
    location /  
    {  
        set_by_lua $downkey '  
            return ngx.md5("encryption" .. ngx.var.remote_addr .. "suffix")  
        ';  
    }  
} 

注意:要開啟ssi才能在html頁面中獲取nginx自定義變量downkey,這樣才能生成經(jīng)過處理的url,其中字符串encryption和suffix為自定義的,可隨便改其他字符,目的是為了生成別人不容易猜解的串。
測試index.html代碼:
二、下載服務(wù)器nginx配置:

server  
{  
    listen    80;  
    server_name down.jb51.net;  
    index index.htm index.html;  
    root /data/www/down;  
    limit_conn  one 1;  
    set $limit_rate 1000k;  
 
  location /  
    {  
        set_by_lua $foo '  
            if string.sub(ngx.var.uri, 2, 33) == ngx.md5("encryption" .. ngx.var.remote_addr .. "suffix") then  
                return 1 
            else 
                return 0 
            end  
        ';  
 
        if ($foo = 1)  
        {  
            rewrite "^/([0-9a-z]{32})(.*?)$"    $2 break;  
        }  
        if ($foo = 0)  
        {  
            rewrite ^/ http://download.jb51.net/404.htm redirect;  
        }  
    }  
} 

這樣把鏈接復(fù)制給另外一臺機(jī)器后,就會打開提示錯(cuò)誤頁面。


相關(guān)文章

  • Nginx端口被占用的解決方案(systemctl restart nginx失敗)

    Nginx端口被占用的解決方案(systemctl restart nginx失敗)

    ginx (engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器,它也是一種輕量級的Web服務(wù)器,可以作為獨(dú)立的服務(wù)器部署網(wǎng)站(類似Tomcat),本文給大家介紹了NGINX啟動(dòng)報(bào)錯(cuò),端口被占用解決方案,需要的朋友可以參考下
    2024-10-10
  • nginx中proxy_set_header參數(shù)的實(shí)現(xiàn)

    nginx中proxy_set_header參數(shù)的實(shí)現(xiàn)

    本文詳細(xì)介紹了Nginx中proxy_set_header指令的用法,通過設(shè)置不同的請求頭信息,可以實(shí)現(xiàn)更靈活的反向代理功能,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • nginx日志分割 for linux

    nginx日志分割 for linux

    默認(rèn)情況下,nginx是不分割訪問日志的,久而久之,網(wǎng)站的日志文件將會越來越大,占用空間不說,如果有問題要查看網(wǎng)站的日志的話,龐大的文件也將很難打開,于是便有了下面的腳本
    2013-11-11
  • Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解

    Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解

    這篇文章主要介紹了Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Nginx?CertBot配置HTTPS泛域名證書Debian及常見問題

    Nginx?CertBot配置HTTPS泛域名證書Debian及常見問題

    這篇文章主要介紹了Nginx?CertBot配置HTTPS泛域名證書Debian及常見問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Nginx多虛擬主機(jī)配置小結(jié)

    Nginx多虛擬主機(jī)配置小結(jié)

    本文主要介紹了Nginx多虛擬主機(jī)配置小結(jié)
    2024-05-05
  • 使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名示例代碼

    使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名示例代碼

    這篇文章主要介紹了使用Nginx實(shí)現(xiàn)301跳轉(zhuǎn)至https的根域名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • nginx反向代理如何替換URL

    nginx反向代理如何替換URL

    這篇文章主要介紹了nginx反向代理如何替換URL問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • nginx線程池源碼分析

    nginx線程池源碼分析

    雖然nginx的源碼非常精致,但是不得不說開發(fā)nginx很有挑戰(zhàn)性,越想更大程度上定制自己的模塊,越需要對nginx的每個(gè)細(xì)節(jié)了解頗深。
    2015-08-08
  • 制作nginx的RPM包教程

    制作nginx的RPM包教程

    這篇文章主要介紹了制作nginx的RPM包的方法,需要的朋友可以參考下
    2014-07-07

最新評論

剑川县| 无极县| 台前县| 舞阳县| 南开区| 大英县| 郁南县| 吉木萨尔县| 安仁县| 抚松县| 金乡县| 迁安市| 宁武县| 兰溪市| 改则县| 吴江市| 洱源县| 双桥区| 米泉市| 本溪市| 金华市| 怀仁县| 邵武市| 宜兴市| 张家口市| 辉南县| 金湖县| 安国市| 淮南市| 宜城市| 新河县| 大理市| 沂南县| 闻喜县| 绵竹市| 芦溪县| 建瓯市| 敦煌市| 武功县| 湘阴县| 潜山县|