有時候咱們的網站僅僅是爲了提供簡單的查詢服務,可是又要保密,這時候若是寫一個認證服務又沒什麼必要,這時候使用 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