nginx配置网站密码 作者: morningp 时间: 2021-10-19 分类: 今天来~~水~~介绍一下,nginx如何配置网站打开时需要输入密码才可以显示界面。 由于这个比较简单,而且我在很多地方都用到了,所以就不分part了。直接开始(以debian为例)。 首先需要安装apache2-utils包,我们今天用到的是htpasswd这个命令,包含在apache2-utils包中,然后输入命令 htpasswd -c /etc/nginx/site-endbaled/password username 这里的-c后面可以指定完整路径,也可以直接写文件名,这样密码文件会生成在当前目录下,username就是用户名,可以自定义。然后根据提示输入密码,就会生成一个密码文件password,这时你可以cat出密码文件,内容大概形如 username:$apr1$4cxwQAef$gtAsuJeApLbvjuhgbgokp. 前面是用户名,冒号后面为加密后的密码,一行一个用户。确认无误后我们进入下一步。 下面需要在nginx配置文件中添加配置,找到 ``` server { listen 80; server_name your.domain.com; index index.html index.php index.htm; } ``` 在花括号里添加内容(这里请注意,如果你使用301等跳转到https路径,请在listen 443哪那个代码块中添加验证,否则无法达到加密的目的): ``` auth_basic "Restricted Access!"; auth_basic_user_file /etc/nginx/site-enabled/passwd; ``` 你可以将Restricted Access!换成任何你想让用户打开网站时出现的提示信息,auth_basic_user_file则是指定密码文件的路径,最好写成绝对路径。然后保存后退出,先`nginx -t`确认配置可用后重新加载nginx配置后即可启用加密配置。 标签: none