Nginx 配置 HTTP Basic Auth
Nginx 是一个被广泛使用的 Web 服务器,代理服务器。本文主要介绍如何为 Nginx 配置 HTTP Basic Auth。(演示环境为 macOS)
Basic Auth 是一个非常简单的认证方式,在请求的 Header 中会包含Authorization
字段,形式如下: Authorization: Basic <凭证>
,该凭证是用户和密码的组和的 base64 编码。
准备环境
在开始之前需要准备好环境,如果在直接在本机安装,可能会与已有的服务冲突,为了方便起见,在 docker 中运行 nginx来进行实验。
1 |
|
配置 HTTP Basic Auth 证书
在这一步我们将会为站点创建用户名密码。
存储用户名密码的文件会由我们指定好,直接在当前目录下创建 test.htpasswd
文件,并且将用户名设置为 nginx
。
运行下面的命令,来配置密码
1 |
|
完成后,可以查看文件的内容来确定配置成功
1 |
|
配置 nginx
完成用户名密码的配置后,需要对 nginx 的配置文件进行修改,在当前目录创建一个 default.conf 配置文件,并在之后挂载到容器内。
拷贝一份配置文件
1 |
|
使用编辑器修改配置文件,添加 auth_basic
1 |
|
测试配置
启动容器,并测试我们的配置是否成功
1 |
|
打开浏览器,输入http://localhost:8080 就可以看到,网页提示我们输入用户名密码了,输入正确的用户名密码后,才能看到欢迎页。
到此,为 nginx 配置 basic auth 就完成了。更多的配置可以参考 Nginx 官方文档
Nginx 配置 HTTP Basic Auth
https://blog.zhangliangliang.cc/post/nginx-basic-auth.html