基於IP配置Nginx的訪問許可權

2021-08-08 01:21:24 字數 775 閱讀 6045

nginx配置通過兩種途徑支援基本訪問許可權的控制,其中一種是由http標準模組ngx_http_access_module支援的,其通過ip判斷客戶端是否擁有對nginx的訪問許可權,這裡有兩個指令需要我們學習。

allow指令,用於設定允許訪問nginx的客戶端ip,語法結構為:

allow address | cidr | all;

address : 允許訪問的客戶端ip,不支援同時設定多個。如果有多個ip需要設定,需要重複使用allow指令。

cidr : 允許訪問的客戶端的cidr位址,例如202.80.18.23/25,前面是32位ip位址,後面「/25」代表該ip位址中前25位是網路部分,其餘位代表主機部分。

all,代表允許所有客戶端訪問。

該命令也支援ipv6位址。。

另一指令是deny,作用剛好和allow指令相反,它用於設定禁止訪問nginx的客戶端ip,語法結構為:

deny address | cidr | all

這兩個指令可以在http塊,server塊,或者location塊中配置。

例子:location /

在上面的配置例項中我們首先精緻192.168.1.1訪問nginx,然後允許192.168.1.0/24訪問nginx,最後設定禁止所有ip訪問nginx,那麼192.168.1.0/24到底能不能訪問呢?

答案是可以訪問。nginx配置在解析過程中,遇到deny或allow指令是按照順序對當前客戶端的連線進行訪問許可權檢查的。如果遇到匹配的配置時,則停止繼續向下搜尋相關配置。

Nginx配置限制IP訪問

有時候我們需要針對遮蔽某些惡意的ip訪問我們的 或者限制僅僅某些白名單ip才能訪問我們的 這時候我們就可以在nginx中通過簡單的配置來達到目的。相關配置語句 遮蔽單個ip訪問 格式 deny ip deny 123.68.23.5 允許單個ip訪問 格式 allow ip allow 123.68...

Nginx配置限制IP訪問

遮蔽單個ip訪問 格式 deny ip deny 123.68.23.5 允許單個ip訪問 格式 allow ip allow 123.68.25.6 遮蔽所有ip訪問 deny all 允許所有ip訪問 allow all 遮蔽ip段訪問 deny ip mask 遮蔽172.12.62.0到17...

nginx配置網域名稱訪問 禁止ip訪問

為什麼要禁止ip訪問?為了避免其他人把未備案的網域名稱解析到自己的伺服器ip,而導致伺服器被斷網,我們可以通過禁止使用ip訪問的方法,防止此類事情的發生。修改配置檔案nginx.conf,其中2.2的方法可以參考 這篇博文中的your project nginx.conf檔案配置,是一樣的道理。新加...