Nginx高階模組學習

2022-08-14 04:18:11 字數 3146 閱讀 7887

實現url重寫一級重定向

使用場景:

1、url訪問跳轉,支援開發設計

頁面跳轉、相容性支援、展示效果

2、seo優化

3、維護

後台維護、流量**等

4、安全

配置語法:

syntax: rewrite regex replacement

default: -context: server,location,

ifrewrite ^(.*)$ /pages/maintain.html break;

正規表示式

.匹配除換行符意外的任意字元

?重複0次或1次

+重複一次或更多次

*最少鏈結數,那個機器連線數少就分發

\d匹配數字

^匹配字串的開始

$匹配字串的介紹

重複n次

重複n次或更多次

[c]匹配單個字元c

[a-z]

匹配a-z小寫字母的任意乙個

()用於匹配括號之間的內容 通過$1、$2呼叫

rewrite規則優先順序

執行server塊的rewritr指令

執行location匹配

執行選定的location中的rewrite

yum install nginx-module-geoip
http_geoip_module使用場景

一、區別國內外作http訪問規則

二、區別國內城市地域作http訪問規則

yum 安裝好後找到安裝的模組檔案

如果nginx是用yun安裝的一般是安裝到 /etc/nginx/modules/目錄下

注意:如果nginx不是yum安裝的而是原始碼編譯安裝的需要從新安裝編譯一次nginx加上此模組,然後就不用手動加入此模組了。

手動加入模組

在nginx.conf配置檔案的頭部載入模組和http是同乙個級別的

wget   #國家的地域ip

wget #城市的地域ip

然後解壓

}#返回國家城市資訊

location /myip

....}}

一、安裝nginx並檢查是否已安裝模組

[root@img_server ~]# nginx -v #輸出nginx所有已安裝模組,檢查是否有ngx_http_secure_link_module
二、配置nginx

"#伺服器的網域名稱

" +%s) #定義過期時間為300秒

secret_num="

secret_key

"#自定義的加密串,和nginx的配置檔案中加密串相同

res=$(echo -n "

$$ $

"|openssl md5 -binary|openssl base64|tr +/ -_|tr -d =) #生成md5值

四、測試

[root@img_server html]# chmod +x md5url.sh #新增許可權

[root@img_server html]# systemctl start nginx #啟動服務

1.測試直接訪問(測試機器需要新增網域名稱解析)

訪問結果為403

過五分鐘(即指令碼中300秒)再次訪問,返回410

1 金鑰防止洩露、以及經常更新金鑰

nginx學習之模組

1 stub status模組 用於展示nginx處理連線時的狀態。配置語法如下 syntax stub status default 預設沒有配置 然後檢查配置的正確性 t 表示檢查配置檔案 c表示檢查指定的配置檔案,預設為 etc nginx nginx.conf nginx t c etc n...

nginx開發學習 過濾模組

一 過濾模組作用 過濾模組僅僅用來處理伺服器回應給客戶端的響應head或者body,所有返回給客戶端的,都必須經過filter,換言之,在之前所述的handler模組中,如果想要進行訊息響應,是通過呼叫過濾頭和過濾體函式進行響應的。二 使用場合 1 過濾頭函式 響應頭過濾函式主要的用處就是處理htt...

nginx學習(五) http模組

一 http核心模組 1 alias 語法 alias file path directory path 預設值 no 作用域 location 該指令設定指定location使用的路徑.注意它跟 root 相似,但是不改變檔案的根路徑,僅僅是使用檔案系統路徑 比如 location i 請求 i ...