Nginx访问密码配置(无需htpasswd)
要在Nginx中配置访问密码而不依赖于htpasswd
等第三方工具,可以按照以下步骤手动创建密码文件并在Nginx配置中引用它。
步骤1:创建密码文件
-
生成加密密码:使用编程语言或在线工具生成加密密码。例如,使用Python的
crypt
模块:
1 | import crypt |
-
保存密码文件:创建一个文本文件(如
passwords
),并将加密后的密码保存在其中,格式为:
1 | username:$apr1$...$... |
-
存放密码文件:将
passwords
文件放置在安全的位置,如/etc/nginx/
目录下。
步骤2:编辑Nginx配置文件
-
打开配置文件:编辑
Nginx
主配置文件/etc/nginx/nginx.conf
或相关虚拟主机配置文件。 -
添加认证指令:在相应的
server
块或location
块中添加以下指令以启用基本认证:
1 | location / { |
-
auth_basic "Restricted"
;定义了认证提示信息。 -
auth_basic_user_file
指定之前创建的密码文件路径。
步骤3:重新加载
保存配置文件更改后,重启Nginx服务以应用新设置:
1 | nginx -s reload |
步骤4:测试访问
尝试访问网站,系统应提示输入用户名和密码。使用在passwords
文件中定义的凭据登录,若正确,可正常访问网站。