Nginx使用ngx_http_auth_basic_module模块实现basic auth,该模块默认是安装的。

生成用户密码文件

使用htpasswd创建用户密码文件:

htpasswd -c -d filename username

然后会提示输入密码。

如果没有安装 htpasswd,使用以下命令安装:

Ubuntu

apt install apache2-utils

CentOS

yum install httpd-tools

将生成用户密码文件放到nginx配置目录 /usr/local/nginx/conf/ 或其他目录

这里注意htpasswd文件或所在目录的权限,如果没有权限就会打开失败,返回500内部服务器错误。

Nginx配置basic auth

在location中添加如下配置:

location / {
    auth_basic "登录认证";
    auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}

重启Nginx

nginx -s reload
nginx basic auth-程序旅途

在浏览器打开的时候,会弹出输入用户名密码的对话框。