nginx 訪問控制模組

2022-02-03 16:05:17 字數 1730 閱讀 3364

基於使用者的訪問控制模組 http_access_module

基於使用者登入信任的模組

有allow 對應的就有 deny;顯然,在http語境下或是在location語境下,產生控制的範圍是不一樣的

準備工作,從default.conf中複製乙份副本出來 命名為access_mod.conf

對於access_mod.conf檔案 nginx啟動時是否會載入呢?答案是肯定的,因為開啟主配置檔案conf.d(如下圖:)我們注意到

這意味著所有以conf為結尾的檔案都會被載入

在access_mod.conf中可以做如下配置,這樣一來,除了本機,任何外部**都可以訪問admin.html; deny後面跟隨的是本機位址 可以通過ip138查出對應的外網位址;也可以通過ifconfig查詢網絡卡位址

http_access_module帶來的問題:由於客戶端可能通過**(nginx** 或7層負載均衡 亦或是內容分發網路訪問目標位址,而這時,nginx所獲取到的remote_addr可能是這些**的位址),因此http_x_forwarded_for應運而生

http_x_forwarded_for的格式如下

但作為請求頭的http_x_forwarded_for 仍有可能被訪問的發起方(客戶端)篡改從而逃避檢查,所以http自定義變數獲取客戶端真實的ip位址資訊

htpasswd乙個第三方工具,其安裝,檢查過程如下

再次修改由default.conf演化而來的檔案 access_mod.conf檔案

htpasswd外掛程式的作用

1. htpasswd -c 建立乙個名為auth_conf的密碼檔案,使用者名為 jeson

許可權提示語和相關密碼校驗檔案的位置

在瀏覽器中測試,使用者名為jeson

侷限:使用者依賴檔案,效率低下,多使用者時,會建立多個檔案,對於論壇來說更不可思議。nginx+lua可以解決......

或者通過nginx和ldap打通,也就是nginx中的nginx-auth-ldap模組

Nginx模組 訪問控制

環境 centos7 nginx 1.16.0 nginx的訪問控制實現中存在如下兩種方式 基於ip的訪問控制 http access module 基於使用者的信任登入 http auth basic module 配置語法 與allow相反,即不允許 實踐 對配置檔案進行修改,儲存重啟nginx...

Nginx訪問控制

配置nginx,禁止訪問指定目錄下的指定程式 location images php php5 sh pl py nginx下配置禁止訪問 txt和 doc檔案 location txt doc location txt doc 禁止訪問單個目錄 location static 禁止訪問多個目錄 l...

Nginx訪問控制

基於ip的訪問控制 http access module 基於使用者的信任登入 http auth basic module 語法1 允許那些ip可以訪問 語法2 不允許那些ip訪問 1.配置不允許指定ip訪問,其他ip都可以訪問 location admin.html測試一下 使用其他ip訪問,訪...