有时候咱们的网站仅仅是为了提供简单的查询服务,可是又要保密,这时候若是写一个认证服务又没什么必要,这时候使用 Nginx 的“约束访问”功能能够轻松地实现基本认证服务。apache
简单地更改 Nginx 的配置文件即可开启认证。centos
auth_basic "restircted";#启用http基本认证,以字符串做为域的名字。 auth_basic_user_file conf/htpasswd;#认证文件的位置,这里要特别注意,不然会发生403错误
认证文件的格式是username:password:comment
,password
部分需加密处理,comment
部分为可选部分。工具
htpasswd
生成认证文件apache 提供了一个htpasswd
命令用来生成认证密钥。若是没有这个命令,须要先安装这个工具。post
yum install httpd-tools-2.4.6-67.el7.centos.x86_64
而后使用这个命令生成密钥文件网站
# cd conf # htpasswd -c -d htpasswd username
根据系统提示输入两次密码便完成了文件的生成。加密
PHP
生成认证文件>>> $password = crypt("password", base64_encode("password")); //第二个参数是盐值,随机两个字母便可 >>> file_put_contents("htpasswd", "username:$password")
完成以上步骤,即可在网站中使用 http 基本认证了。rest
原文发表于Nginx 开启基本 http 认证,转载请注明出处。code