有时候我们的网站仅仅是为了提供简单的查询服务,但是又要保密,这时候如果写一个认证服务又没什么必要,这时候使用 Nginx 的“约束访问”功能可以轻松地实现基本认证服务。
开启认证
简单地更改 Nginx 的配置文件便可开启认证。
1 | auth_basic "restircted";#启用http基本认证,以字符串作为域的名字。 |
生成认证文件
认证文件的格式是username:password:comment
,password
部分需加密处理,comment
部分为可选部分。
使用htpasswd
生成认证文件
apache 提供了一个htpasswd
命令用来生成认证密钥。如果没有这个命令,需要先安装这个工具。
1 | yum install httpd-tools-2.4.6-67.el7.centos.x86_64 |
然后使用这个命令生成密钥文件
1 | # cd conf |
根据系统提示输入两次密码便完成了文件的生成。
使用PHP
生成认证文件
1 | >>> $password = crypt("password", base64_encode("password")); //第二个参数是盐值,随机两个字母即可 |
完成以上步骤,便可在网站中使用 http 基本认证了。