nginx

Table of Contents

1 Basic Auth

一些服务没有认证模块,比如 Prometheus,NGINX 的 ngxhttpauthbasicmodule , 使用「HTTP Basic Authentication」协议做简单的账户名和密码认证。配置如下:

location / {
    auth_basic           "closed site";
    auth_basic_user_file conf/htpasswd;
}

auth_basic 用来指定认证打开或者关闭,特殊值的 off 表示关闭状态,设置为字符串时,一般做为认证标题。

auth_basic_user_file 指定保存用户名和密码的文件,可以使用 htpasswd 工具来生成账号名和密码文件。

htpasswd 是 HTTPD 工具集的一部分,所以要先安装:

yum install -y httpd-tools

生成认证凭据,

htpasswd -c /etc/nginx/.htpasswd admin

/etc/nginx/.htpasswd 是凭据文件位置, admin 是用户名,执行时会提示输入密码,文件内容类似这样:

# /etc/nginx/.htpasswd
admin:$apr1$z2.a8U.c$DGsdj6MGmnfnQOwF3mWaE0

密码是经过加密的,最后将 nginx 配置中的 auth_basic_user_file 指向凭据文件即可。

Date: 2019-06-02 17:28:48

Author: JerryZhang