当前位置: 首页 > article >正文

Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例

场景

Nginx代理的资源或网站等,url直接暴露有风险,需要添加身份认证,即输入用户名密码后才能成功访问。

注:

博客:
霸道流氓气质-CSDN博客

实现

Windows上配置Nginx实现基本身份认证

修改nginx的配置文件

添加基本身份认证配置设置auth_basic以及认证用户民密码文件的位置auth_basic_user_file

 server {
        listen       250;
        server_name  127.0.0.1;

        location / {
            root   D:/test/;
   # 基本验证
            auth_basic "nginx basic auth";
            auth_basic_user_file D:/test/htpasswd;
   try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

这里在D盘test目录下新建文件,新建一个txt文件,修改其内容如下

badao:123456

左边是用户名,右边是密码。多个用户名密码换行继续加

然后修改文件名为htpasswd,并且去掉后缀名,即在d盘test下新建一个htpasswd文件。

启动nginx并访问250端口测试

Linux上Docker启动Nginx配置基本身份认证示例

在linux上的流程类似,只不过密码不能使用明文,需要生成一个加密的密码。

加密密码生成方式:

安装工具httpd

 yum install httpd-tools -y

生成密码

htpasswd -nbm badao 123456

回车会输出加密后的密码

复制此密码并生成htpasswd文件

这里在/home/test/nginx/html目录下

touch htpasswd

然后编辑该文件,将上面生成的用户名密码复制进文件。

将nginx的配置文件上传至/home/test/nginx目录下并修改其内容

        location / {
            root   /usr/share/nginx/html;
            # 基本验证
            auth_basic "nginx basic auth";
            auth_basic_user_file /usr/share/nginx/html/htpasswd;
            index  index.html index.htm;
        }

这里注意html首页的路径以及用户名密码文件的路径

然后使用docker启动nginx

docker run --name nginx-auth-test  -p 250:250 -v /home/test/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/test/nginx/html:/usr/share/nginx/html -d nginx

启动成功后访问250进行验证

如果用curl进行请求时,需要携带用户名密码可以使用如下格式

curl --user badao:123456  http://127.0.0.1:250/


http://www.kler.cn/a/395623.html

相关文章:

  • 51c大模型~合集42
  • JavaScript 自动化软件:AutoX.js
  • 容器技术在持续集成与持续交付中的应用
  • 【Rust 编程语言工具】rustup-init.exe 安装与使用指南
  • CentOS网络配置
  • 2024 年(第 7 届)“泰迪杯”数据分析技能赛B 题 特殊医学用途配方食品数据分析 完整代码 结果 可视化分享
  • 计算机毕业设计Python+CNN卷积神经网络股票预测系统 股票推荐系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI
  • 千益畅行,共享旅游卡市场乱象解析与未来展望
  • Python3中str和bytes
  • STM32串口——5个串口的使用方法
  • selenium元素定位---元素点击交互异常解决方法
  • 0x00基础算法 -- 0x05 排序
  • Modern Effective C++:item 1 理解模板类型推导
  • Spring Boot 中使用 @Transactional 注解配置事务管理
  • 表的数据结构和常见操作
  • 硬盘物理故障的表现、原因和解决方法全解析
  • 鸿蒙next ui安全区域适配(刘海屏、摄像头挖空等)
  • kali上安装docker,并且生成centos7容器和创建apache容器后台运行
  • [论文笔记]An LLM Compiler for Parallel Function Calling
  • 电子电气架构 --- 电动汽车 800V 高压系统
  • HTML5+CSS前端开发[保姆级教学]+基本文本控制标签介绍
  • 单片机原理理论及应用
  • css鼠标移动效果高亮追随效果
  • C++ QT UI日志更新
  • 爆火的AI智能助手ChatGPT中自注意力机制的演化与优化
  • Kafka一些常用的命令行操作【包含主题命令、生产者和消费者命令】