/*
* 环境:LNMP(CentOS 6.6 + Nginx 1.8.0)
*/

在 Nginx 下配置 Basic 认证需要依靠 Nginx 的 http_auth_basic_module 模块(官方文档:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html

配置过程:

① 生成认证文件,形式为 用户名:密码

密码采用 crypt 方式加密(用户名:user ,密码:123456)

文件保存在 /usr/local/nginx/conf 下

生成文件:

[root@localhost conf]# printf "user:$(openssl passwd -crypt 123456)\n" >>htpasswd

查看该文件:

② 配置 /usr/local/nginx/conf/nginx.conf 文件,在 location 段中加上 auth_basic 和 auth_basic_user_file :

                location \ {
auth_basic "login";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}

其中 auth_basic 为弹出框的提示语,可自定义

auth_basic_user_file 为认证文件的路径,可以写绝对路径,也可以只写文件名(默认的路径是 /usr/local/nginx/conf )

平滑重启 Nginx。

此时访问 192.168.254.100,提示认证:

如果输入错误,弹出框会继续弹出;

如果取消输入,则响应 401 Unauthorized:

输入正确,则响应 200 OK。

=====================

附:PHP 模拟 Basic 认证

<?php

$user = 'dee';
$pwd = '12345'; if($_SERVER['PHP_AUTH_USER'] != $user ||
$_SERVER['PHP_AUTH_PW'] != $pwd
) {
header('Content-type:text/html;charset=utf-8');
header('WWW-Authenticate: Basic realm="加密传输"');
header('HTTP/1.1 401 Unauthorized');
echo '请提供正确的用户名和密码';
exit;
} echo 'Hello';

参考:

http://blog.chenlb.com/2010/03/nginx-http-auth-basic.html

http://www.jb51.net/article/32211.htm

http://os.51cto.com/art/201308/407232.htm

Nginx 配置 Basic 认证的更多相关文章

  1. nginx 配置用户认证

    nginx 配置用户认证有两种方式: 1.auth_basic 本机认证,由ngx_http_auth_basic_module模块实现.配置段: http, server, location, li ...

  2. Apache 配置 Basic 认证

    /* * 环境:WAMP( Windows7 + WampServer2.2(Apache 2.2.21)) */ 配置过程: ① 生成用户文件,文件路径可以使用绝对路径,也可以使用相对路径 进入 a ...

  3. nginx配置用户认证

    location ~ .*admin\.php$ {             auth_basic "weifenglinux auth";             auth_ba ...

  4. LNMP配置——Nginx配置 —— 用户认证

    一.配置 再来创建一个新的虚拟主机 #cd /usr/local/nginx/conf/vhost #vi test.com.conf 写入: server { listen 80; server_n ...

  5. 使用crypt配置Basic Auth登录认证

    简介 Basic Auth用于服务端简单的登录认证,通常使用服务器Nginx.Apache本身即可完成.比如我们要限定某个域名或者页面必须输入用户名.密码才能登录,但又不想使用后端开发语言,此时Bas ...

  6. Nginx配置单项SSL以及双向SSL

    Https安全协议的由来? 在实现 HTTPS协议前,我们需要了解 SSL 协议,但其实我们现在使用的更多的是 TLS 加密通讯协议. 那么TLS是怎么保证明文消息被加密的呢?在OSI七层模型中,应用 ...

  7. NGINX 配置 SSL 双向认证

    对于 NGINX 的 HTTPS 配置,通常情况下我们只需要实现服务端认证就行,因为浏览器内置了一些受信任的证书颁发机构(CA),服务器端只需要拿到这些机构颁发的证书并配置好,浏览器会自己校验证书的可 ...

  8. nginx配置ssl加密(单双向认证、部分https)

    nginx配置ssl加密(单双向认证.部分https) nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始 ...

  9. nginx配置SSL实现服务器/客户端双向认证

    http://blog.csdn.net/kunoy/article/details/8239653 本人不才,配置了两天,终于搞出来了,结合网上诸多博文,特此总结一下! 配置环境: Ubuntu 1 ...

随机推荐

  1. mysql多实例(个人的情况,不是大众的)里面有配置好的脚本+主从复制

    [root@DB-S ~]# ll /usr/local/|grep mysql lrwxrwxrwx. 1 root root 21 Jun 14 01:52 mysql -> /alidat ...

  2. DDL, DML不是所有SQL都是可以自动回滚的

    因为DDL没有事务性,所以DDL不能回滚. 要实现自动回滚.(begin,commit,rollback),则SQL语句中只能包括DML. 这样,自动化发布就会受限规范格式. 故而,一刀切的办法是,假 ...

  3. Angular中的Error: [$resource:badcfg]错误如何解决之一种

    相信这种情况很多的吧,我遇到的情况是因为在作reSource的service时,query出来的协议不对. 错误时候的代码: Version.factory("versionSrv" ...

  4. Java Hour 45 Hibernate ( 2 )

    基本确定了,一个月后也就是在2014年的开端,我将离开这个公司. 所以我大概还有30个学时. 45.1 你需要一个数据库 首先,必须有一个试验用的数据库,这里我们使用MySQL. 尽管书中的说明是使用 ...

  5. WAP网页输入框的默认键盘类型控制

    最近有用户反映手机网的输入框不够人性化,比如手机号.卡号输入框应该默认显示数字键盘,邮箱输入框应该默认显示邮箱键盘. 百度上对这样的资料介绍很多,基本上都和这个页面是一个意思 http://www.w ...

  6. hihoCoder挑战赛14 -1223

    描述 给定n个关于X的不等式,问最多有多少个成立. 每个不等式为如下的形式之一: X < C X <= C X = C X > C X >= C 输入 第一行一个整数n. 以下 ...

  7. BroadcastRecevier广播接受者

    广播接收器的两种注册方式: 1)动态注册:在代码中注册,创建一个IntentFilter(意图过滤器)对象,设置想要就收的广播,在onCreate()方法中通过调用registerReceiver() ...

  8. vim跳到文件头和文末结尾

    gg           : 跳转到文件头 Shift+g   : 跳转到文件末尾

  9. Hadoop_10_shuffle02_详解Shuffle过程【来源网络】推荐更为详细

    网址:http://www.cnblogs.com/felixzh/p/4680808.html Shuffle过程,也称Copy阶段.reduce task从各个map task上远程拷贝一片数据, ...

  10. HDU2841 Visible Trees(容斥原理)

    题目..大概就是有个m*n个点的矩形从(1,1)到(m,n),问从(0,0)出发直线看过去最多能看到几个点. 如果(0,0)->(x,y)和(0,0)->(x',y')两个向量平行,那后面 ...