Nginx 第九節 訪問控制

2021-09-02 18:54:27 字數 1736 閱讀 3033

author:咔咔

wechat:fangkangfk

基於ip的訪問控制

基於使用者信任登入

語法: 

// 允許的訪問  ip

// 不允許訪問

配置:

第一種是除了222.128.189.17ip不可訪問,其他的任何形式都可以訪問

第二種是只允許222.128.189.17ip訪問,其他的都不允許訪問 

以上的訪問都是基於http_access_module訪問的

http_access_mosule這種基於ip控制訪問的是需要客戶端直接請求服務端才可以生效的,但是我們使用nginx最長用的功能就是反向**,從下圖就可以看出來,只要經過反向**我們的服務端是獲取不到客戶端的ip的。

這個時候就有個好東西出現了,那就是x_forwarded_for,這個協議是可以將客戶的ip跟反向**的ip一起傳送給我們的服務端,就解決了這個問題

方法一:採用別的http頭資訊控制訪問,如http_x_forward_for,但這是一種協議,並不是全部都支援

方法二:結合geo模組來實現(這個需要在後邊單獨講解)

方法三:通過http自定義變數傳遞

我們需要先安裝這個庫

yum -y install httpd
建立乙個使用者kaka的使用者

修改nginx.conf配置檔案

測試

這個在後邊的都會寫到的,先知道有這個就可以了,掌握http_auth_basic_module這個控制模組

對於這個htpasswd這個用法也簡單的說一下

// 修改乙個使用者密碼

htpasswd -d password.user kaka

// 新增乙個使用者直接使用者密碼寫完

htpasswd -b .passwd jack 123456

// 刪除乙個使用者

htpasswd -d password.user kaka

第九節除錯

除錯 第一種方法簡單直接粗暴有效,就是用print 把可能有問題的變數列印出來看看 斷言凡是用print 來輔助檢視的地方,都可以用斷言 assert 來替代 assert的意思是,表示式n 0應該是true,否則,根據程式執行的邏輯,後面的 肯定會出錯。如果斷言失敗,assert語句本身就會丟擲a...

java筆記第九節

第九節 一 設計模式 相當於戰術 入格 看 可用性,美觀性 的由23種。二 架構模式 相當於戰略 目前只有兩種 1.b s 瀏覽器 伺服器,邏輯 堆放到伺服器上 方便公升級,修改,伺服器任務重 b s網頁上的內容是臨時從伺服器上下下來的 2.c s 客戶 伺服器,邏輯 堆放到客戶端上 不適合管理軟體...

第九節 開閉原則

1 開閉原則,對擴充套件是開放的,對修改是關閉的。2 復用,模組復用和系統復用,其中模組部分復用或將整個專案程式設計可復用的。3 內部模組化時,之中有不同的邏輯。將 分為業務邏輯層和資料儲存層,將 模組化成兩個層級。像 對選單的處理,選單功能實現為業務邏輯 像 選單資料儲存用鍊錶,也可以以後改為雜湊...