linux运维学习笔记:nginx系列之02:nginx 身份验证基于IP和用户名

linux运维学习笔记:nginx系列之02:nginx 身份验证基于IP和用户名

作者:周少言
2017年 12月 日 星期 ,于北京

声明:本博客是本人周少言在某培训机构学习期间所写,其中参考借鉴了他人的博客,本文将会选择性给出相关链接,如有侵权,恳请告知。本文如有错误,恳请告知,欢迎交流。

参考连接

基于IP 验证

本实验安装nginx的主机IP为 192.168.22.43
vim /usr/local/nginx/conf/nginx.conf
针对server与针对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这台主机上访问192.168.22.43
service nginx reload

基于用户名密码验证

  • nginx后台为了安全性,需要配置htpasswd进行登录验证。
    htpasswd是apache的一个模块,所有需要先安装apache服务。
    yum -y install httpd
    或者
    yum -y install httpd-tools
    创建用户,生成密码文件
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配置文件调用

  • 找到 nginx 配置文件,因为要对整个站点开启验证,所以在配置文件中的第一个server修改如下:
server {
   listen 80;
   server_name  localhost;
   .......
 
  location / {
 auth_basic "Nginx";  
 auth_basic_user_file /usr/local/nginx/conf/htpasswd;
 autoindex on;
 }

以上的修改是直接在location / { } 模块下修改,这将会是全目录加密。

然后重启 nginx:
service nginx reload

  • 去验证。

你可能感兴趣的:(linux运维学习笔记:nginx系列之02:nginx 身份验证基于IP和用户名)