Nginx下配置Http Basic Auth保护目录

nginx basic auth指令

语法:     auth_basic string | off;
默认值:     auth_basic off;
配置段:     http, server, location, limit_except

默认表示不开启认证,后面如果跟上字符,这些字符会在弹窗中显示。

语法:     auth_basic_user_file file;
默认值:     —
配置段:     http, server, location, limit_except

1. 下载这个Python文件:http://trac.edgewall.org/export/10770/trunk/contrib/htpasswd.py (nginx wiki里推荐的)

chmod 777 htpasswd.py  #给文件加上权限
./htpasswd.py -c -b htpasswd username password
#-c为生成文件 htpasswd为文件名
-d 是以 crypt 加密
username为登录的名字 password为登录密码

2.可以使用可以使用htpasswd,或者使用openssl创建密码

# printf "ttlsa:$(openssl passwd -crypt 123456)\n" >>conf/htpasswd
# cat conf/htpasswd
ttlsa:xyJkVhXGAZ8tM

3.把htppasswd文件放到nginx/conf文件下面,编辑nginx.conf文件

在location里面加两行:
auth_basic     "password please";
auth_basic_user_file  conf/htpasswd;

4.重启Nginx服务

service nginx start

5.注意错误提醒:说明43行有错

6.可以使用curl -v http://localhost 查看http返回的状态码:401未经授权表示成功

7.在浏览器里默认的访问地址是http://localhost

时间: 2024-12-25 18:46:55

Nginx下配置Http Basic Auth保护目录的相关文章

Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in

nginx下配置虚拟主机的三种方法

nginx下,一个server标签就是一个虚拟主机. 1.基于域名的虚拟主机,通过域名来区分虚拟主机--应用:外部网站 2.基于端口的虚拟主机,通过端口来区分虚拟主机--应用:公司内部网站,外部网站的管理后台 3.基于ip的虚拟主机,几乎不用. 基于域名配置虚拟主机步骤: 需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析:对应域名网站目录下新增index.html文件:  nginx.conf配置文件新增如下代码: server {

TP3.2 Nginx下配置ThinkPhp多入口访问

thinkphp多入口配置后,入口index.php指向应用目录=>app,入口admin.php指向后台管理目录=>admin在nginx下设置伪静态(在nginx的配置文件中): #ThinkPHP REWRITE支持if (!-e $request_filename) {rewrite ^/(.*)$ /index.php?s=$1 last;} 配置后,www.abc.com/index.php可以正常访问,www.adc.com/admin.php访问文件不存在错误! 解决方案:一个

Nginx 下配置SSL证书的方法

1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 如果要更改header

Nginx下配置网站SSL实现https访问本站就是用的这方法

本文出至:新太潮流网络博客 第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的ECS+免费的Linux服务器管理系统WDCP快速搭建的lnamp环境,具体安装以及使用方法都可以在其官方论坛找到详细的操作文档. 第二步:创建你的网站,使用lnamp环境创建你的网站,已有网站的,确保你的程序在lnamp下能够正常的运行,以wordpress为例,lamp跟lnamp下的伪静态规则是不同的,有过更换的,要记得切换. 第三步:申请免费的

NGINX下配置CACHE-CONTROL

HTTP协议的Cache -Control指定请求和响应遵循的缓存机制.在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程.请求时的缓存指令包括no-cache.no-store.max-age. max-stale.min-fresh.only-if-cached等.响应消息中的指令包括public.private.no-cache.no- store.no-transform.must-revalidate.proxy-revalidate.m

nginx下配置404错误页面

1.创建自己的404.html页面,并放于网站根目录. 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独的网站配置文件) 在server 区域加入: error_page 404 /404.html 或者 error_page 404 http://www.xxx.com/404.html(不建议用这个绝对路径,有人反映会返回200,但是我测试是可以的,两边不要=) 4.测试nginx.conf正

Nginx 下配置Laravel 错误404

宝塔的访问路径改一下 在站点的配置文件下面server里面加上 location / { try_files $uri $uri/ /index.php?$query_string; } 然后重启Nginx服务器 OK! 原文地址:https://www.cnblogs.com/wlphp/p/8447165.html

nginx下配置多站点

http://www.linuxidc.com/Linux/2011-07/38125.htm img.xxxx.com nginx   configTest add_header Access-Control-Allow-Origin *;log_format zuren  '$remote_addr - $remote_user [$time_local] '                    '$request_time $upstream_response_time "$reques