Nginx 目录访问设置密码保护方法

1、创建类htpasswd文件

执行:

 代码如下 复制代码
wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh

按提示输入用户名、密码、及认证文件名。脚本会自动生成认证文件。记录下脚本返回的文件路径。如:/usr/local/nginx/conf/vpser.net.auth。

2、为Nginx添加auth认证配置

下面是以某域名下面的soft目录为例,在域名的server段里加上如下代码:

 代码如下 复制代码

location ^~ /soft/
{
auth_basic "Authorized users only";
auth_basic_user_file 这里写前面脚本返回的文件路径;
}

Authorized users only为提示信息,可以修改成自己想让他提示的信息;auth_basic_user_file 后面需要填htpasswd.sh脚本返回的人家文件的路径。按上面的提示修改好配置后,重启nginx,访问http://yourdomainname/soft/ 就会提示输入用户名和密码。

注意,加上认证之后该目录下的PHP将不会被解析,会出现下载提示,如果想可以解析PHP可以将上面的配置改为:

 代码如下 复制代码

location ^~ /soft/ {
location ~ .*.(php|php5)?$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
auth_basic "Authorized users only";
auth_basic_user_file 这里写前面脚本返回的文件路径;
}

方法二

先建立以下脚本,命名为crypt.pl,放在root目录下面。

 代码如下 复制代码

#!/usr/bin/perl
usestrict;
my
$passWord=$ARGV[0];
print
crypt($passWord,$passWord)."n";

然后运行:

 代码如下 复制代码

chmod +x crypt.pl
./crypt.pl password

将上面用crypt.pl 生成的加密后的密码按照用户名:密码的格式写到htpasswd文件中,htpasswd放在/usr/local/nginx/conf目录下面。

 最后在/usr/local/nginx/conf/nginx.conf里面,添加以下内容即可,放在server里面。

 代码如下 复制代码

location /phpmyadmin {
auth_basic "Nginx Status";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}

以上即对phpmyadmin目录进行加密。

时间: 2024-09-14 15:03:31

Nginx 目录访问设置密码保护方法的相关文章

启用Nginx目录浏览功能的方法_nginx

今天工作需要,要给客户提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让客户看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件: 我们都知道在apache下可以配置访问web服务器的某个路径时,自动显示其目录下面的文件列表的,其实Nginx一点也不比apache弱,它当然也可以实现这个功能,而且还非常容易和简单:主要用到autoindex 这个参数来开启,其配置如下: 复制代码 代码如下: location / {           root /data/w

apache和nignx中禁止目录访问安装配置方法

[apache配置禁止访问] 1. 禁止访问某些文件/目录 增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:  代码如下 复制代码 <Files ~ ".inc$"> Order allow,deny Deny from all </Files> 禁止访问某些指定的目录:(可以用 <DirectoryMatch> 来进行正则匹配)  代码如下 复制代码 <Directory ~ "^/var/www

快车如何进行默认下载目录的设置

快车进行默认下载目录的设置的方法如下: 1.首次开启快车,将弹出"快车默认下载目录"的对话框,选择确定即可. 2.也可以稍后在快车软件中进行修改,操作方法是:鼠标右键点击"完成下载"选择"设置默认下载目录",也可以在这个右键菜单中找到"创建桌面快捷方式",在桌面就可进入"快车下载目录". 3.第一次启动默认是C:Downloads,根据用户选择的类别不同,存放目录也不同,默认的对应关系.

Nginx服务器中设置禁止访问文件或目录的方法_nginx

在nginx要禁止某个或一类资源,只需要增加一个location,然后在其中使用deny all即可. 禁止访问扩展名为bat的文件,配置如下: location ~* /.bat { deny all; } 禁止访问configs目录,以及其下所有子目录或文件,配置如下:   location ^~ /configs/ { deny all; } 注意上述configs后面的斜杠不能少,否则所有以configs开头的目录或文件都将禁止访问. 以上是小编为您精心准备的的内容,在的博客.问答.公众

nginx 设置网站目录访问验证方法

1.创建类htpasswd文件 执行:  代码如下 复制代码 wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh 按提示输入用户名.密码.及认证文件名.脚本会自动生成认证文件.记录下脚本返回的文件路径.如:/usr/local/nginx/conf/vpser.net.auth. 2.为Nginx添加auth认证配置 下面是以某域名下面的soft目录为例,在域名的server段里加上如下代码:  代码如下 复制代码 locat

Linux上设置用户通过SFTP访问目录的权限的方法

  sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动. 1.查看openssh软件版本,想sftp服务用户只能访问特定的文件目录,版本需要4.8以上 代码如下: [root@localhost ftp]# rpm -qa | grep openssh openssh-server-5.3p1-81.el6_3.x86_64 openssh-5.3p1-81.el6_3.x86_64 openssh-clients-5

Serv-U中虚拟目录的设置方法(文字+图文)_FTP服务器

Serv-U虚拟目录设置文字版: 一.用Serv-U时,如果使用虚拟路径映射(虚拟目录),那么就只需设定某个文件夹为主目录,然后把想要分享文件映射到该目录下,可以有效提高利用效率,好处不言自明:不用每次把文件内容复制到主目录下.访客通过FTP就可以打开主人设定的文件资料--即使是在不同盘符下的. 要增加虚拟目录,以用户(admin)的主目录为F:\admin,想要能通过ftp://IP/admin的格式能访问到在E:\Download\中的内容,则需要为它添加虚拟目录.操作步骤如下: (1)在管

nginx禁止访问固定目录的问题

问题描述 nginx禁止访问固定目录的问题 nginx配置如下 location /apps/id/ { deny 10.1.2.3;}为什么配置生效后所有的ip访问/apps/id/都返回403 Forbidden错误 解决方案 deny的ip是否正确

qq空间设置隐身访问?qq空间隐身访问设置方法

隐身访问qq空间设置方法 首先,黄钻豪华版设置隐身访问,需要区分空间应用(即:空间游戏)和空间访客,有不同的设置方式. 1.应用游戏的隐身: 登录QQ空间进入"个人中心"=>点击"动态设置"=>专属特权,若您已经是豪华版黄钻用户,直接勾选"无影无踪"选项,开启后您在游戏时将不会被好友看到; 2.空间访客的隐身: 方法一:登录QQ空间个人中心,选择"我看过谁",鼠标移至相关记录的删除按钮,点击"永久隐身访问