点赞
评论
收藏
分享
举报
配置http基本验证(Basic Auth)
发表于2020-09-26 09:31

浏览 3.2k

nginx安全: 配置http基本验证(Basic Auth)(nginx 1.18.0)

一,http基本验证的作用:

1,http基本身份验证会从浏览器弹出登录窗口,

   简单明了,容易理解,

   对于面向终端用户的前台来说,不够友好,

   但对于内部员工操作的后台还是很有用,通常作为一层安全措施应用。

2,

在这里为例子,我们新建一个站:

域名:     admin.lhdtest.com
登录名:    admin
密码:     12345678

这里仅作为演示,生产环境不能使用这种极简单的密码

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,生成供测试的站内文件

1,生成网站的目录

[root@centos8 ~]# mkdir -p /data/site/admin/html

2,生成网站的index页面

[root@centos8 ~]# vi /data/site/admin/html/index.html

页面html代码:

复制代码
<html>
<head>
</head>
<body>
welcome to admin.lhdtest.com
</body>
</html>
复制代码

三,配置nginx的http基本验证

1,在nginx.conf中检查是否有对conf.d目录的支持

    如不存在,添加它

include /usr/local/soft/nginx-1.18.0/conf/conf.d/*.conf;

说明:生产环境中,为了管理方便,会把每个server放到专用的conf文件中,

           不要混在一起而全写到nginx.conf中,修改和查找都不方便

2,创建网站的server文件

[root@centos8 conf.d]# vi admin.conf

内容:

复制代码
server {
    auth_basic "lhdtest.com admin";
    auth_basic_user_file /usr/local/soft/nginx-1.18.0/conf/conf.d/admin.pwd;

    listen       80;
    server_name  admin.lhdtest.com;
    root         /data/site/admin/html;
    index        index.html index.shtml  index.htm;
    access_log      /data/nginx/logs/admin.access_log;
    error_log       /data/nginx/logs/admin.error_log;
}
复制代码

2,生成密码:

如果找不到htpasswd命令,

可以用dnf安装这个包:

[root@centos8 conf.d]# dnf install httpd-tools

生成密码:

#-n:Don't update file; display results on stdout

#-b:Use the password from the command line

#-m:Force MD5 encryption of the password

[root@centos8 conf.d]# htpasswd -nbm admin 12345678
admin:$apr1$nkxLxBPa$EGa.u5yKuQ08m6g/8bGb9.

写入到密码文件

[root@centos8 conf.d]# vi admin.pwd

内容:

admin:$apr1$nkxLxBPa$EGa.u5yKuQ08m6g/8bGb9.

3,重启nginx

[root@centos8 conf.d]# systemctl stop nginx
[root@centos8 conf.d]# systemctl start nginx

4,测试效果

看截图,输入正确的用户名和密码即可进入网站

四,查看nginx的版本

[root@centos8 soft]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0
已修改于2023-03-09 02:04
创作不易,留下一份鼓励
云原生

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
云原生
这家伙很懒还未留下介绍~
15
文章
4
问答
4
粉丝
相关文章
本文适合对象:源码开发人员和软件使用人员先说说nginx能吸收的营养知识*http协议和服务器是如何实现的*网络编程的知识*简直就是c教科书*代码阅读能力*良好的开发习惯*锻炼逻辑能力*完全掌握nginx提升自信心深入NGINX源码的学习路径建议尽量只看源码,不看任何其它的资料,但是可以少量参考。如果你是新手,选最初发布版本nginx0.1.0。(2004年发布)从代码量比较nginx0.1.0: 4w+ vs nginx1.19.0:19w+幸运的是架构几乎没变化。因为模块化是nginx架构的核心,这个在0.1就支持了。不幸运的是这也成了一个问题,举个例子,为什么nginx改配置需要reload呢?有了模块化之后,涌现了很多的第三方模块,有些质量非常不错,推动了社区的发展。有些质量比较低。但不管怎么样,这些大量的第三方模块,让nginx的API不能轻易改动,更不用说架构了。20年前互联网没这么复杂,reload完全不是问题。但是放在现在,长连接业务已经变的很常见,这就成为一个明显的问题了。这里不得不感叹很多厉害人物,在20岁出头
点赞 19
浏览 4.6k
转载:https://segmentfault.com/a/1190000000703319 原文作者:yexiaoba注:该文原文是 DebuggingNginxConfiguration默认,Nginx仅仅记录标准错误日志到Nginx默认的error文件中,或是被 error_log 指令指定的文件中。我们可以控制许多方面的错误日志,这将帮助我们调试我们Nginx配置文件。重要:对于Nginx配置文件的任何改变,你都必须测试和重载Nginx的配置文件来让变更生效。在Ubuntu系统,你可以简单的运行 nginx-t&&servicenginxreload 命令。在我们继续进行之前在你复制粘贴任何Nginx配置之前,确保你移除了你不想要的代码。并且,每次你升级Nginx,也请使用最新版Nginx提供的更新你的配置文件。在我们开始之前,请详细阅读这些官方文章:通常的Nginx陷阱,if是恶魔,location指令和 Nginx请求过程。你可能会单独使用它们来解决你的问题。注:5星推荐上面的几篇官方文章。好吧,看起来你需要一些
点赞 4
浏览 1.2k
众所周知,Nginx最常见的传统场景是Web服务器,HTTP反向代理以及负载均衡,此外,它在物联网的技术领域,也可以发挥同样可观的作用。本节我们会重点讨论使用Nginx实现物联网消息组件MQTTBroker的高可用。MQTT流量负载均衡带有健康检查的高可用实践基于MQTTClientID的会话保持0x01MQTT原理首先我们来熟悉一下MQTT协议。MQTT(MessageQueuingTelemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。MQTT协议原理1MQTT协议实现方式实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(S
点赞 1
浏览 2.9k