linux運(yùn)維學(xué)習(xí)筆記:nginx系列之02:nginx 身份驗(yàn)證基于IP和用戶名
作者:周少言
2017年 12月 日 星期 脊髓,于北京
聲明:本博客是本人周少言在某培訓(xùn)機(jī)構(gòu)學(xué)習(xí)期間所寫(xiě)焙糟,其中參考借鑒了他人的博客惭缰,本文將會(huì)選擇性給出相關(guān)鏈接饱溢,如有侵權(quán),懇請(qǐng)告知仇让。本文如有錯(cuò)誤蜈膨,懇請(qǐng)告知,歡迎交流等舔。
基于IP 驗(yàn)證
本實(shí)驗(yàn)安裝nginx的主機(jī)IP為 192.168.22.43
vim /usr/local/nginx/conf/nginx.conf
針對(duì)server與針對(duì)http
譬如在server模塊中添加一句
deny 192.168.22.42;
如果限制比較多可以在server模塊下添加一句:
include /usr/local/nginx/conf/blockip.conf;
然后編輯該自定義配置文件
vim /usr/local/nginx/conf/blockip.conf
deny 192.168.22.42;
重啟生效骚灸,在192.168.22.42這臺(tái)主機(jī)上訪問(wèn)192.168.22.43
service nginx reload
基于用戶名密碼驗(yàn)證
- nginx后臺(tái)為了安全性,需要配置htpasswd進(jìn)行登錄驗(yàn)證慌植。
htpasswd是apache的一個(gè)模塊甚牲,所有需要先安裝apache服務(wù)。
yum -y install httpd
或者
yum -y install httpd-tools
創(chuàng)建用戶蝶柿,生成密碼文件
htpasswd -c /usr/local/nginx/conf/htpasswd zhangsan
htpasswd -m /usr/local/nginx/conf/htpasswd lisi
cd /usr/local/nginx/conf ; ls
其中/usr/local/nginx/passwd文件就是自定義的密碼文件丈钙,要被nginx配置文件調(diào)用
- 找到 nginx 配置文件,因?yàn)橐獙?duì)整個(gè)站點(diǎn)開(kāi)啟驗(yàn)證只锭,所以在配置文件中的第一個(gè)server修改如下:
server {
listen 80;
server_name localhost;
.......
location / {
auth_basic "Nginx";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
autoindex on;
}
以上的修改是直接在location / { } 模塊下修改著恩,這將會(huì)是全目錄加密院尔。
然后重啟 nginx:
service nginx reload
- 去驗(yàn)證蜻展。