前段時間,團隊開放了元件庫演示環境,由於存在一些小夥伴在外地辦公(只能外網或者 vpn 到內網)。所以,為了安全考慮,設想是否可以通過 nginx 做一些訪問限制呢?當然,答案是肯定的。
訴求整理:
這個很簡單,使用 nginx 的ngx_http_auth_basic_module模組,即可完成。
ngx_http_auth_basic_module
模組允許通過使用「http基本身份驗證」協議驗證使用者名稱和密碼來限制對資源的訪問。
location /
上述auth_basic
、auth_basic_user_file
作用域均為http, server, location, limit_excep。
這裡使用 apache 的 htpasswd 工具生成。
htpasswd - manage user files for basic authentication
# [可選]安裝 httpd-tools
# 生成金鑰檔案
$ htpasswd -c /usr/local/nginx/.passwd idss-fe
# 按提示輸入密碼、確認密碼,即完成配置
生成的內容,格式如下:
idss-fe:$apr111$d/rw..npddmis...fsg0tho0
上述,整體處理完成,不要忘記$ nginx -s reload
只針對外網做限制。其中,這裡實現的思路,是逆向的。外網的 ip,沒辦法窮舉;但是我們部署的伺服器,和我們自身的內網環境是屬於同乙個網段,我們放行該網段,同時禁止其他所有訪問,也就達到了上述目的。
這裡使用 nginx 的核心模組module ngx_http_core_module中的satisfy和ngx_http_access_module模組結合實現。
ngx_http_access_module
模組允許限制對某些客戶端位址的訪問
location /
ocation /
Nginx訪問許可權配置
最近建個人 在伺服器上新建了乙個使用者zengfp,並且把 的目錄放到了 home zengfp www目錄下,配置的nginx server nginx s reload 然後再 以網域名稱zengfanping.com進行訪問,出現了403 forbidden錯誤。1 nginx使用者和zeng...
nginx 設定目錄訪問許可權
可以使用下面這個python指令碼生成認證檔案 chmod 777 htpasswd.py htpasswd.py c b filename username password其中htpasswd是生成的檔名,username 是使用者名稱,password 是對應的密碼 修改nginx的conf ...
nginx限制ip訪問許可權
一 伺服器全侷限ip vi nginx.conf allow 10.57.22.172 deny all 二 站點限ip vi vhosts.conf 站點全侷限ip location fastcgi pass 127.0.0.1 9000 fastcgi index index.php fastc...