Nginx 加密访问(访问限制)

Posted bazingafraser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 加密访问(访问限制)相关的知识,希望对你有一定的参考价值。

nginx 访问认证

应用环境:

企业内部人员,访问一些企业内部的网站,例如phpmyadmin或者公司的一些文档服务器

Nginx配置:

安装httpd,为了实现Nginx可以使用htpasswd命令

[[email protected] vhost]# yum -y install httpd # 安装httpd,为了实现Nginx可以使用htpasswd命令

[[email protected] ~]# mkdir /usr/local/nginx/conf/htpasswd/ #创建存放用户和密码的目录

[[email protected] ~]# htpasswd -bc /usr/local/nginx/conf/htpasswd/test_user user password #创建一个用户密码文件

test_user:文件名称

user:用户

password:密码(是经过加密的)

[[email protected] htpasswd]# cat test_user 

user:wPqXPPVO5ad9M #用户和加密密码


 

Nginx配置文件:

server

{

listen 80;

server_name learn1.proxy.com;

index index.php index.html index.htm;

root /data/www/learn1.proxy.com;

error_log /data/weblogs/learn1_error.log crit;

access_log /data/wwwlogs/learn1.log access;

location / {

auth_basic "Please Input Password..."; #提示信息

auth_basic_user_file /usr/local/nginx/conf/htpasswd/test_user; #用户密码文件存放路径,这里写绝对路径,否则会报错403

}

location ~ \\.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi.conf;

}

}


 

测试:

技术分享图片

htpasswd命令选项参数说明:

-c创建一个加密文件。

-n不更新加密文件,只将htpasswd命令加密后的用户名和密码显示在屏幕上。

-m默认htpassswd命令采用MD5算法对密码进行加密,该参数默认情况下可以不加。

-d表示htpassswd命令采用CRYPT算法对密码进行加密。

-s表示htpassswd命令采用SHA算法对密码进行加密。

-p表示htpassswd命令不对密码进行进行加密,即明文密码。

-b表示在htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码。

-D表示删除指定的用户。


 


 

[[email protected] htpasswd]# htpasswd -b test_user bbb bbb #添加新用户

Adding password for user bbb #添加用户提示信息

[[email protected] htpasswd]# cat test_user #内容

user:wPqXPPVO5ad9M

bbb:V1wqRumuBNlKE

添加新用户时,不可以使用htpasswd -bc test_user bbb bbb这样的方式进行添加,否则会覆盖已有用户。


 

[[email protected] htpasswd]# htpasswd -D test_user bbb #删除用户

Deleting password for user bbb #删除用户提示信息

[[email protected] htpasswd]# cat test_user 

user:wPqXPPVO5ad9M


 

 

 

 

以上是关于Nginx 加密访问(访问限制)的主要内容,如果未能解决你的问题,请参考以下文章

nginx lua redis 访问频率限制(转)

nginx怎么设置指定目录ip访问限制

nginx 限制特定用户的ip访问

Nginx 使用IP限制访问来源

[Linux] - 利用ping给端口加密,限制访问

nginx 限制ip/限制访问路径