Nginx常用功能詳解

2022-10-03 10:09:12 字數 2121 閱讀 6835

一、nginx目錄保護及訪問限制

nginx保護目錄的配置如下,目錄密碼保護檔案是 /usr/local/nginx/htpasswd

location ~ /admin

location ~ \.php$

注意,設定目錄密碼保護時,請注意配置區塊的位置,如果放在location ~ \.php$ {}區塊後面,如果開啟的是靜態頁面或等非php檔案,會提示要輸入密碼,但是,如果開啟的是php檔案,則設定無效,會直接執行php檔案並顯示。因此,一定要注意把要設定目錄密碼保護的區塊放在location ~ \.php$ {}區塊之前。

生成密碼檔案:

htpasswd -b -c /usr/locla/nginx/htpasswd username password;

二、nginx防盜煉

另外 nginx 防盜煉,防止別人偷圖(**、flash、軟體…)當然也是 ok 滴!  一樣也是在 server 的區段加上

}這時候 location 的意思就是保護從網頁根目錄算起,所有的指定型別的檔案都依照此規則

valid_referers none blocked 的意思就是不阻擋從哪些地方來的囉~ 這邊以空格來分隔允許的網域名稱或 ip 位置

$invalid_referer 的意思就是不允許鏈結

rewrite ^/ 的意思就是指定不允許的鏈結自動轉向到乙個頁面,或是已經有設定 404 轉址的也可以先註解掉這行再把 #return 404 的註解拿掉,就會自動跑到你設定的 404 頁面了。

特別提醒:如何來看防盜煉是否是生效的,建議大家直接看服務日誌,不要拿個**來測試。因為有些不要臉的傢伙(比如某度),他會用自己的伺服器來提供服務。就是因為這個原因,上一次我在做這個的時候,浪費了很多時間。

三、nginx**限速

nginx 還能限速再限制**執行緒!  先在 http 區段找到 limit_zone,再把注釋拿掉~

# 設定乙個叫做 crawler 的區域,大小為 20mb

limit_zone crawler $binary_remote_addr 20m;

然後在 server 的區段加上

# 限制檔案型別只能單線**

# 限制特定資料夾底下只能單線**

# location /download/

四、nginx多網域名稱設定

今天在配置php+nginx時出現乙個嚴重的問題,在nginx虛擬主機上繫結了泛網域名稱,在程式中需要用二級網域名稱指向不同的內容,但無論如何訪問都只跳轉到主網域名稱上!為了找到問題,乙個乙個試驗,得出如下結論:不管繫結多少網域名稱,用 $_server["server_name"] 只會返回虛擬主機中繫結的第乙個網域名稱!

比如繫結網域名稱如下:

server_name     www.jb51.net *.jb51.net jb51.net

現在我不管用什麼網域名稱訪問, $_server["server_name"] 都只會返回 www.jb51.net !!這是個很嚴重的問題,對泛網域名稱造成了致命的影響!

既然有問題,就肯定有解決方案。。在wiki主翻了n久,終於找到了需要的資料!原來:$_server["serve程式設計客棧r_name"] 返回的值是由 nginx 的 fastcgi_param 中 server_name 提供的,而預設的配置為:

fastcgi_param  server_name    $server_name;

nginx中 $server_name 變數就是上面設定的網域名稱,只會返回第乙個!

這下好辦了,把上面的配置改成:

fastcgi_param  server_name  &axzxnjpcnbsp; $host;

就行了。

另外還需要在server_name配置後面加一行:

server_name_in_redirect off;

意思是 讓 nginx 在處理自己內部重定向時不預設使用  server_name 設定中的第乙個網域名稱!

本文標題: nginx常用功能詳解

本文位址:

Nginx 常用功能

客戶端想要訪問乙個伺服器,但是它可能無法直接訪問這台伺服器,這時候這可找一台可以訪問目標伺服器的另外一台伺服器,而這台伺服器就被當做是 人的角色 稱之為 伺服器,於是客戶端把請求發給 伺服器,由 伺服器獲得目標伺服器的資料並返回給客戶端。客戶端是清楚目標伺服器的位址的,而目標伺服器是不清楚來自客戶端...

Nginx的常用功能

server server server 192.168.20.1 8080 應用伺服器1 server 192.168.20.2 8080 應用伺服器2 server ip hash 根據客戶端ip位址hash值將請求分配給固定的乙個伺服器處理 server 192.168.20.1 8080 s...

Nginx的常用功能簡介

以上就是我了解到的nginx在不依賴第三方模組能處理的事情,下面詳細說明每種功能怎麼做 server 儲存配置檔案後啟動nginx,這樣當我們訪問localhost的時候,就相當於訪問localhost 8080了 負載均衡也是nginx常用的乙個功能,負載均衡其意思就是分攤到多個操作單元上進行執行...