linux運(yùn)維學(xué)習(xí)筆記:nginx系列之02:nginx 身份驗(yàn)證基于IP和用戶名
作者:周少言
2017年 12月 日 星期 ,于北京
聲明:本博客是本人周少言在某培訓(xùn)機(jī)構(gòu)學(xué)習(xí)期間所寫,其中參考借鑒了他人的博客,本文將會(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)證。