开发者社区> 网站安全> 正文

网站安全之nginx的配置创建访问网站密码认证

简介: 最近我们Sinesafe在处理nginx+php+mysql架构的客户网站安全方面要配置后台的二级密码访问验证处理过程中要用到nginx的配置来完成这个二级密码的设置安全部署。
+关注继续查看

最近我们Sinesafe在处理nginx+php+mysql架构的客户网站安全方面要配置后台的二级密码访问验证处理过程中要用到nginx的配置来完成这个二级密码的设置安全部署。

下面由我来简要说一下在nginx配置服务中,创建访问网站密码认证的方法。

1)需要ngx_http_auth_basic_module模块

语法:


Syntax: auth_basic string | off;
Default: 
auth_basic off;
Context: http, server, location, limit_except

默认是关闭的,使用位置在http,server,location标签。

2)例子:


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

3)首先配置出保存用户和密码的文件htpasswd

使用htpasswd命令进行创建登录用户和密码

参数:


1 -c:创建一个加密文件;
2 -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
3 -m:默认采用MD5算法对密码进行加密;
4 -d:采用CRYPT算法对密码进行加密;
5 -p:不对密码进行进行加密,即明文密码;
6 -s:采用SHA算法对密码进行加密;
7 -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
8 -D:删除指定的用户。

a、查看系统是否安装了htpasswd命令


1 root@oldboy nginx]# which htpasswd
2 /usr/bin/which: no htpasswd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

b、安装htpasswd命令


[root@oldboy nginx]# yum install http -y

c、使用htpasswd命令创建密码文件htpasswd


1 [root@oldboy nginx]# htpasswd -cb /application/nginx/conf/htpasswd taili01 123456
2 Adding password for user taili01

d、在原文件htpasswd中增加新的用户


1 [root@oldboy nginx]# htpasswd -b ./htpasswd taili02 123456
2 Adding password for user taili02

e、查看htpasswd文件内容


1 [root@oldboy nginx]# cat ./htpasswd 
2 taili01:ZCN8EXnjt3OYY
3 taili02:lDJrLzZuwxh/g

4)配置nginx.conf文件


 1 [root@oldboy conf]# vim nginx.conf
 2 worker_processes 1;
 3 events {
 4 worker_connections 1024;
 5 }
 6 error_log logs/error.log;
 7 http {
 8 include mime.types;
 9 default_type application/octet-stream;
10 sendfile on;
11 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
12 '$status $body_bytes_sent "$http_referer" '
13 '"$http_user_agent" "$http_x_forwarded_for"';
14 keepalive_timeout 65;
15 server {
16 listen 80;
17 server_name www.sandy.com;
18 location / {
19 root html/www;
20 index index.html index.htm;
21 auth_basic "This is input password";
22 auth_basic_user_file conf/htpasswd;
23 }
24 access_log logs/host.access.log main;
25 error_page 500 502 503 504 /50x.html;
26 location = /50x.html {
27 root html;
28 }
29 }
30 }

5)访问网站

如果有错误,欢迎各位网友指导。 另外喜欢的话,给个点赞呗,谢谢!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
k8s学习三:创建一个nginx服务
k8s学习三:创建一个nginx服务
92 0
Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问
docker 在容器里下载配置nginx,并可在浏览器上访问的方法, 并将容器转为镜像,或将容器转为文件,再将文件转为镜像的两种方式,创建容器时绑定端口的方法,
63 0
Docker - 解决创建 nginx 容器尝试挂载 nginx.conf 文件时报错: mounting "/root/nginx.conf" to rootfs at "/etc/nginx/nginx.conf" caused: mount through procfd: not a directory:
Docker - 解决创建 nginx 容器尝试挂载 nginx.conf 文件时报错: mounting "/root/nginx.conf" to rootfs at "/etc/nginx/nginx.conf" caused: mount through procfd: not a directory:
1757 0
如何在Kubernetes里创建一个Nginx service
如何在Kubernetes里创建一个Nginx service
93 0
如何在Kubernetes里创建一个Nginx应用
如何在Kubernetes里创建一个Nginx应用
51 0
创建yum仓库及nginx目录映射
创建yum仓库及nginx目录映射
219 0
键盘侠Linux干货| 使用Nginx创建一个私人网盘
键盘侠Linux干货| 使用Nginx创建一个私人网盘
387 0
最简单的dockerfile使用教程 - 创建一个支持SSL的Nginx镜像
什么是dockerfile?简单的说就是一个文本格式的脚本文件,其内包含了一条条的指令(Instruction),每一条指令负责描述镜像的当前层(Layer)如何构建。 下面通过一个具体的例子来学习dockerfile的写法。
1544 0
如何在Kubernetes里创建一个Nginx应用
使用命令行kubectl run --image=nginx nginx-app --port=80 创建一个名为nginx-app的应用 结果: deployment.apps/nginx-app created 使用命令行kubectl get pods查看创建结果,状态已经为running.
1482 0
如何在Kubernetes里创建一个Nginx service
Jerry之前的文章如何在Kubernetes里创建一个Nginx应用,已经使用kubectl命令行创建了Pod,但是在kubernetes中,Pod的IP地址会随着Pod的重启而变化,因此用Pod的IP地址来访问我们部署的nginx应用不太合适。
2125 0
+关注
网站安全
Sinesafe专注于网站安全,服务器安全,解决各类网络安全问题,对代码审计以及漏洞修补安全加固有专业的十年实战经验.官方站点www.sinesafe.com
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载