我有一些网站,只想给自己和自己的朋友看,所以需要加密,加上访问认证。只有知道用户名和密码的人才能访问自己的网站。
准备工作
能看到这篇文章的,大都安装过 Nginx 了吧。如果没有安装过,那你就需要安装 Nginx 了。
生成加密过的密码
使用 openssl 生成加密过的密码:
openssl passwd
接下来会提示输入密码,连续输入两次后就能得到加密后的密码了,如:
D89diuh3du23d
此时把加密的密码复制下来,供后面使用。
创建认证文件
后面在 nginx 设置中对眼身份认证,需要指定一个存有用户名和密码的文件,所以这里首先创建。 为防止出现权限问题,将文件创建到 nginx 配置目录下,文件名为 passwd
nano /usr/local/nginx/conf/passwd
在文件中写入
admin:D89diuh3du23d
其中 admin 即设置的验证用户名,可随意更改,不需要再次加密。
修改 nginx 配置文件
打开 nginx 配置文件
nano /usr/local/nginx/conf/vhost/blog.itnote.me.conf
增加一个 location,如:
server {
. . .
location / {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
. . .
}
在此 location 下填入认证提示,并指明认证文件路径 auth_basic 中字符串内容用在认证界面的提示中,如果不希望别人知道这个网页的用途的话,就写一个无关紧要的 Admin Login。
重启 nginx 生效
重启 nginx
service nginx restart
参考文章
本文大部分内容转载自:nginx 下为访问页面增加身份认证