使用Nginx对网站资源进行加密访问并限制访问IP-LMLPHP

你好呀,我是赵兴晨,文科程序员。

大家在工作中有没有遇到过这样的需求,新上的网站部署到生产服务器上,但是还没公开,只允许个别高层领导看。

思来想去,我想到了一个简单的方法,通过Nginx对网站资源进行加密,提供高层领导用户名和密码即可访问到网站资源,其他不知道密码的拒之门外。下面我就详细说一下操作步骤。

跳过Nginx部署直接上干货!

1.生成加密后的密码

openssl passwd -apr1

解析:

openssl passwd -apr1 命令是用于生成 Apache 格式的加密密码,它不提供直接设置用户名的选项。

通常,Apache 的密码文件(如 .htpasswd)是一个简单的文本文件,每行包含一个用户名和对应的加密密码。

2.配置用户名和密码

创建一个文本文件,比如 passwords,然后将用户名和加密后的密码写入其中: (每行一个用户,用户名和密码之间使用冒号分隔。)

user:$apr1$F9T1zg1U$SaE5UGhSXM1lUz6LdwbSj/

3.配置nginx

location / {
auth_basic "Restricted Access"; # 提示用户输入用户名和密码
auth_basic_user_file /path/to/passwords; # 指定密码文件的路径
...
}

还可以允许指定IP访问资源

location / {
# 允许的IP地址
allow 192.168.100.253;
# 禁止其他IP地址
deny all;
}

到这就结束了,是不是很简单啊。

你学废了嘛,有疑问的同学,欢迎在评论区留言!

05-15 07:56