Logo

NGiNX 使用 .htaccess 保護/防盜連/限速

NGiNX 是個那摸猛滴 HTTP 伺服器軟體,當然! 絕對! 一定是可以用 .htaccess 來保護目錄的 ? 簡單的範例如下,我要保護的是 phpmyadmin 資料夾,在 nginx.conf 的設定裡面,我的 root 網頁根目錄已經指定到 /web/www 了,所以再來就直接在 server 的區段加上

location 的意思就是保護從網頁根目錄算起的 phpmyadmin 目錄 (放在 /web/www/phpmyadmin )
auth_basic 的意思就是進入資料夾時會顯示的訊息
auth_basic_user_file 的意思就是需要的帳號密碼檔案放在哪,我這邊設定是放在 /usr/local/nginx/conf/htpasswd
然後再利用 .htaccess 線上產生器(或是這裡 .htaccess Editor) 製作一個 htpasswd 丟到 /usr/local/nginx/conf/ 底下去,也不需要重新啟動,直接在 SSH 輸入

來更新 NGiNX 的新設定值就 OK 了,也不需要再多裝 Apache 來設密碼~! ?

另外 NGiNX 防盜連偷圖當然也是 OK 滴! ? 一樣也是在 server 的區段加上

這時候 location 的意思就是保護從網頁根目錄算起,所有的指定的副檔名都依照此規則
valid_referers none blocked 的意思就是不阻擋從哪些地方來的囉~ 這邊以空格來分隔允許的域名或 ip 位置
$invalid_referer 的意思就是不允許連結
rewrite ^/ https://520.be/403.html; 的意思就是指定不允許的連結自動轉向到一個頁面,或是已經有設定 404 轉址的也可以先註解掉這行再把 #return 404 的註解拿掉,就會自動跑到你設定的 404 頁面了。

NGiNX 還能限速再限制下載線程! ? 先在 http 區段找到 limit_zone,再把註釋拿掉~

然後在 server 的區段加上

}

簡單吧~! 輕巧的 NGiNX 不用多裝什麼模組,輕輕鬆鬆做好限制~ 用在 HostingInside 的 VPS A 初級規格,上面做簡單的 Web Benchmark 測試(原本只有 128 MB RAM,做測試之前有安裝軟體,有請客服 Lee 增加記憶體~! ? ) 承受 500 個 clients 還沒問題,700 個 clients 的時候就有失敗了 ? 不過受測端系統負載還是很低,不會亂飆高! ? 要是硬體規格高一點,把 nginx.conf 的 worker_processes 以及 php-fpm.conf 的 max_children 這兩個工作線程數調高一點就能承受更大的負載了。 ?
備註:HostingInside 的 VPS 是 OpenVZ 介面/HyperVM 控制台、IntelQuad-Core Xeon X3220 四核心處理器,限制 150 MHz )這家服務態度粉好唷~! 從台灣連線速度很棒(Staminus Communications, 機房在 Fullerton, California),客服又能用中文溝通,值得推薦一下! 但是他們是 OpenVZ 介面的不能搞 VPN ? ,所以偶三個月之後就不會續約了 ?
快丟掉 Apache 吧! ? ?

列印本文

關於 寂寞先生

In every democracy, the people get the government they deserve. ~Alexis de Tocqueville
上一篇:
下一篇:

您可能會喜歡

手機也能當下載神器?開箱 Seal🦭 :把 yt-dlp 穿上優雅外衣的雙面刃

🦭 手機也能當下載神器?開箱 …

發佈留言