如何隐藏或修改Docker容器中的Nginx响应头中的Server

news2024/11/17 15:55:22

背景介绍

现在大部分项目通过Nginx作为反向代理,实际由于安全审计要求需要隐藏或修改响应头的Server信息,传统的项目直接部署在nginx服务器中,只需要在nginx服务器安装ngx_http_headers_more_filter_module插件,然后通过修改nginx.conf文件配置即可,但是自从容器化时代来了之后,大部分项目都通过kubernetes或docker部署的,所以容器化的nginx如何修改对应的响应头,下面进行详细的介绍

实施步骤

修改Dockerfile的基础镜像

修改nginx基础镜像,引入安装了ngx_http_headers_more_filter_module插件的nginx镜像:rookiezoe/nginx,对应的镜像目前实测下来可用的有1.23.3、1.21.3版本

FROM rookiezoe/nginx:1.23.3
ENV LANG=C.UTF-8
ENV TZ=Asia/Shanghai

COPY dist/ /usr/share/nginx/html
COPY error.html /usr/share/nginx/html
COPY nginx-default.conf /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/nginx.conf
RUN chown -R nginx:nginx /usr/share/nginx/html

EXPOSE 7081
COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh"]```

修改宿主机的nginx配置文件

修改nginx.conf文件,在http作用域之外追加load_module modules/ngx_http_headers_more_filter_module.so; 在htto作用域之内,server作用域之外增加more_set_headers或more_clear_headers;
删除响应头Server即通过more_clear_headers命令如下图所示:
在这里插入图片描述
修改响应头Server值的配置即通过more_set_headers命令如下图所示:
在这里插入图片描述

测试验证

请求nginx所在的端口服务,比如https:/xxx.xxx/xx/,按照以上步骤中的通过more_clear_headers命令执行完如下图所示查看响应头信息中是否有Server
在这里插入图片描述
如果按照more_set_headers命令执行完后如下图所示查看Server值是否变更为mytest
在这里插入图片描述

总结

通过以上两种方式可以分别对关键的响应头进行修改或删除从而做到安全审计的要求,不对外暴露真实的服务信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025555.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux服务器占用处理手记

磁盘占用定位处理 查看磁盘占用情况: df -h 查看每个目录的占用情况: du -h -x --max-depth1 查找大文件和目录 du -sh /* du -sh /home/* 可参考: Linux垃圾清理指北_linux 清理垃圾_智商二五零_的博客-CSDN博客 查看CPU和内存占用情…

SpringBoot底层原理----配置优先级/Bean管理/springboot原理

配置优先级 最终得到以下配置优先级:(从低到高) Bean管理 获取bean bean作用域 第三方bean Springboot原理 起步依赖 原理就是依赖传递-通过引入web依赖将所有必要的都同时引入 自动配置--面试高频题目 即:在pom文件中引入依赖后,他是如何自动配置给IOC容器的 springboot采…

Xilinx SDK编译完成自动生成SREC文件(适用于ISE、Vivado、Vitis)

把elf转换成srec格式的常规方式,是打开Program Flash Memory界面,选择elf文件,点击Convert ELF to SREC 会在hardware目录下的cache文件夹下生产srec文件。 可以通过配置编译后执行命令,在每次编译完成自动生产srec文件。 会在…

安卓备份基带分区 备份字库 步骤解析 以免误檫除分区或者“格机” 后悔莫及

玩机搞机---安卓机型mtk和高通芯片查看分区 导出分区 备份分区的一些工具分析 修复基带 改串码 基带qcn 改相关参数 格机危害 手机基带的重要性前面几期博文我都有相关的说明。他区别于别的分区。而且目前手机的安全性越来越高。基带分区基本都是专机专用。而不像早期机型一…

小皮面板配置Xdebug,调用单个php文件

小皮面板配置Xdebug 首先下载phpstrom,和小皮面板 打开小皮面板,选中好要使用的php版本 然后点击【管理】> 【php扩展】> 【xdebug】 然后打开选中好版本的php位置 D:\Program_Files\phpstudy_pro\Extensions\php\php7.4.3nts打开php.ini文件…

【数据结构】—从直接插入排序升级到希尔排序究极详解(含C语言实现)

食用指南:本文在有C基础的情况下食用更佳 🔥这就不得不推荐此专栏了:C语言 ♈️今日夜电波:透明で透き通って何にでもなれそうで—HaKU 2:05 ━━━━━━️💟──────── 5:38 …

干货分享 | 关于同星硬件接口卡及TSMaster软件常见问题QA指南

TSMaster是同星智能开发的一款国产汽车总线工具链软件平台,是全方位汽车总线设计、仿真、分析、诊断和标定的专业工具,支持从需求分析到系统实现的整个系统开发过程。同星智能硬件接口卡可以提供CAN, CAN FD, LIN, FlexRay, 与Ethernet等网络的开发、仿真…

李宏毅-hw7-利用Bert完成QA

一、查漏补缺、熟能生巧: 只有熬过不熟练的时期,反复琢磨,才会有熟练之后,藐视众生的时刻 1.关于transformers中的tokenizer的用法的简单介绍: from transformers import BertTokenizerFast# 加载预训练的BERT模型to…

uniapp Echart X轴Y轴文字被遮挡怎么办,或未能铺满整个容器

有时候布局太小,使用echarts,x轴y轴文字容易被遮挡,怎么解决这个问题呢,或者是未能铺满整个容器。 方法1: 直接设置 containLabel 字段 options: { grid: { containLabel: true, },} 方法2: 间接设置,但是…

微信小程序页面栈超出导致页面卡死

微信小程序页面栈不能超出10个 超出10个之后无法进行点击选择跳转 解决方法: 跳转的时候,判断之前页面栈里是否存在要跳转的页面, 如果存在之前页面,就navigateBack返回之前页面, 如果不存在之前页面,判断…

RocketMQ 核心编程模型以及生产环境最佳实践

文章目录 1、RocketMQ的消息模型2、深入理解RocketMQ的消息模型2.1、RocketMQ客户端基本流程2.2、消息确认机制2.2.1、 发送消息的方式第一种称为单向发送第二种称为同步发送第三种称为异步发送 2.2.2、状态确认机制2.2.3、消费者也可以自行指定起始消费位点 2.3、广播消息2.4、…

nginx 报错[emerg]: unknown directive “锘? in E:\nginx-1.18.0/conf/nginx.conf:3

报错:nginx 报错[emerg] 32408#14080: unknown directive "锘? in E:\nginx-1.18.0/conf/nginx.conf:3 原因:使用nginx服务时,用txt记事本打开编辑了nginx.conf文件,类似WINDOWS自带的记事本等软件,在保存一个以…

mysql触发器triggers

文章目录 1、创建触发器2、 查看触发器3、删除触发器 1、创建触发器 语法: CREATE TRIGGER 触发器名称 BEFORE/AFTER INSERT/UPDATE/DELETE ON 表名 FOR EACH ROW BEGIN SQL逻辑 END;BEFORE 或 AFTER 表示之前 还是 之后触发 INSERT 或 UPDATE 或 DELETE 表示监听…

PostgreSQL 查询某个属性相同内容出现的次数

查询某个数据库表属性 name 相同内容出现出现的次数,并按次数从大到小排序 SELECT name, COUNT(*) AS count FROM your_table GROUP BY name ORDER BY count DESC;示例 select project_id, COUNT(*) AS count from app_ads_positions group by project_id order b…

(WRF/Chem)在大气环境领域实践技术应用

随着我国经济快速发展,我国面临着日益严重的大气污染问题。近年来,严重的大气污染问题已经明显影响国计民生,引起政府、学界和人们越来越多的关注。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果,同时气象因…

智能报修管理系统的作用和功能

智能报修管理系统针对不同的服务对象、不同的服务内容、不同的紧急情况,不同的区域,自定义设定响应指标,承诺客户在多长时间内响应或是解决问题,保障服务质量。随着报修、后勤、运维等规模日趋庞大,许多单位每日需处理…

echarts-根据数据大小实现折线渐变色

先看示例图: 这几年一直在做大数据可视化前端开发,接下来把近几年用到的比较经典案例给大家分享下,主要用到的可视化库为Echarts、Threejs、Element、D3、fabricjs等。 这个案例是Echarts,Echarts算是学习成本比较低的一个很好的…

Java下打印一个等腰三角型

想达到这个结果,通常的做法是通过拼结两个三角型达到,但是实际上还有最右边的第三个三角型没有处理,这个拼结的方法总让人看起来有一点不完美的感觉,于是我自创了一个思路,一气合成,代码如下(本…

想要提高客户留资率?一个留资机器人就够了!

随着移动互联网进入“下半场”,用户在线参与率持续上升,导致企业的获客成本不断攀升。特别是近年来新型营销场景如直播销售、内容推广和短视频引流等的不断涌现,企业在多个渠道和平台上的广告支出激增,试图吸引更多潜在客户。然而…

提升开发效率的低代码思路

目录 一、低代码如何快速开发? 1.可视化开发 2.预构建的组件和模板 3.集成的开发和测试工具 4.跨平台兼容性 5.可伸缩性和可扩展性 二、前后端分离的开发框架 技术架构 部署方式 应用入口 三、小结 低代码开发工具正在日益变得强大,它正不断弥合着前后端…