nginx 安全配置

news2025/2/22 18:05:47

1、前言

   前后端分离后,nginx 作为跨域转发工具在日常应用中越来越广泛,它的安全性不能不能忽略。

2、nginx 安装相关说明

2.1 直接下载安装包

   在nginx官网下载编译好的安装包,链接地址为nginx: download。如果是linux系统,直接使用wget  https://nginx.org/download/nginx-1.26.0.tar.gz进行下载解压安装即可。

2.2 下载nginx 源码

     在github 提供nginx 源码,地址为https://github.com/nginx/nginx,将源码拉取到本地后要编译,执行如下命令即可。以centos 系统为例 ,需要支持ssl,执行命令如下:

1、yum install openssl*

2、# ./configure --prefix=/usr/local/nginx-1.26.0 \
--with-http_ssl_module --with-http_spdy_module \
--with-http_stub_status_module --with-pcre
–with-http_stub_status_module:支持 nginx 状态查询
–with-http_ssl_module:支持 https
–with-http_spdy_module:支持 google 的 spdy,
–with-pcre:为了支持 rewrite 重写功能,必须制定 pcre
3、 make  
4、make  install

3、nginx 安全配置

3.1 使用并配置https

   在nginx 配置文件新增如下截图配置

特别注意,要 使用高版本的 TLS 协议(如 TLS1.2 TLS1.3 ),替换低版本协议,因为低版本的加密算法强度不足。

3.2 校验http host 头

    有的时候服务端使用请求头中host 字段获取站点或者ip, 但服务端没有host header 值进行处理,可能造成恶意代码的传入,所以一般要你校验host头部  。nginx 配置如下:

3.3 关闭不安全的http 方法

     服务端开启了如 OPTIONS HEAD 等不安全的 HTTP 方法,存在被非法利用、未
授权访问的风险。所以要关闭此类接口。nginx 配置如下:

3.4 跨域配置最小权限策略

3.5 校验referer

    未校验referer值,可能导致跨站点伪造。可以防盗链,其实nginx的secure_link也可以防止盗链,需要在nginx 中新增如下截图

3.6 定义网络白名单

cat /home/whitelist.conf

#白名单IP

allow 10.1.1.10;

allow 10.1.1.11

然后在nginx 配置文件中引用此文件,如下
location /{
    include /home/whitelist.conf;
    #默认位置路径为/etc/nginx/ 下,
    #如直接写include whitelist.conf,则只需要在/etc/nginx目录下创建whitelist.conf
    deny all;
}

黑名单和上面方法类似。

3.7  文件MD5 值校验

文件的MD5校验是验证文件在下载过程中,文件是否正确,当客户端下载此文件时候计算此文件的MD5和和响应头部MD5比较。file-md5此模块并不是nginx 官方的,需要下载编译安装。下载地址https://github.com/cfsego/file-md5/archive/master.zip -O file-md5-master.zip。安装后需要在nginx中配置如下

add_header Content-MD5 $file_md5;

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

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

相关文章

基于FPGA实现LED的闪烁——HLS

基于FPGA实现LED的闪烁——HLS 引言: ​ 随着电子技术的飞速发展,硬件设计和开发的速度与效率成为了衡量一个项目成功与否的关键因素。在传统的硬件开发流程中,工程师通常需要使用VHDL或Verilog等硬件描述语言来编写底层的硬件逻辑&#xff0…

Unity Apple Vision Pro 开发(一):开发前期准备【软硬件要求 | 开发者模式 | 无线调试打包】

文章目录 📕教程说明📕硬件要求📕软件要求⭐Xcode 15.2 及以上⭐visionOS 1.0 (21N301) SDK 或者更高版本⭐Unity 2022 LTS for Apple Silicon (2022.3.18f1及以上的版本)⭐Unity Pro/Unity Enterprise/Unity Industry的授权许可证 &#x1f…

solidwork3D草图案例-曲管

单位mm 3D草图 点击线,根据三视图,绘制直线, 圆角 半径25mm 扫描 三视图 如果觉得好的话,或者有疑问,请关注微信公众号咨询

淘宝扭蛋机小程序开发:探索无限惊喜的购物新体验

随着科技的不断进步,人们的生活方式也在发生翻天覆地的变化。在这个数字化、智能化的时代,淘宝扭蛋机小程序应运而生,为消费者带来了一种全新的购物体验。 淘宝扭蛋机小程序是一款集娱乐、互动、购物于一体的创新应用。它巧妙地将扭蛋机的乐…

JavaWeb开发 3.Web开发 Web前端开发 ③ HTML、CSS

没有一朵花,一开始就是一朵花 —— 24.5.28 HTML、CSS知识在博主前端专栏,可以对照博客大致进行了解 https://blog.csdn.net/m0_73983707/category_12654678.htmlhttps://blog.csdn.net/m0_73983707/category_12654678.html

SpringAdminClient如何将Httpbasic账号密码告知SpringAdminServer

场景,因为Config Service开了权限校验,注册到eureka之后,SpringAdmin查看信息会报错401,如果想在SpringAdmin中正确的看到Config Service的actuator信息则需要将账号密码告知给SpringAdmin,磁力用的是Eureka作为发现服…

java多线程创建方式

1. 继承Thread类 这种方式是通过创建一个新的类继承自Thread类,并覆盖run()方法来创建线程。然后通过创建这个类的对象并调用其start()方法来启动线程。 public class MyThread extends Thread { public void run() { // 在这里定义线程的执行逻辑 …

20240528解决飞凌的OK3588-C的核心板可以刷机不能连接ADB的问题

20240528解决飞凌的OK3588-C的核心板可以刷机不能连接ADB的问题 2024/5/28 16:34 OS:Linux R4/Buildroot 硬件接了3条线出来,一直可以刷机,但是链接ADB异常。 【总是链接不上】 Z:\OK3588_Linux_fs\kernel\arch\arm64\boot\dts\rockchip\OK3…

RuoYI框架集成Sqlite与Mybatis-plus

一、RuoYi 中集成 SQLite 、MyBatis-Plus RuoYi 是一个基于 Spring Boot 的权限管理系统,它默认使用 MySQL 作为数据库。如果你想在 RuoYi 中集成 SQLite 数据库,并使用 MyBatis-Plus 作为 ORM 框架,你需要进行一些配置和代码更改。以下是集成的基本步骤: 添加依赖:在项目…

【算法】位运算算法——两整数之和

题解:两整数之和(位运算算法) 目录 1.题目2.位运算算法3.参考代码4.总结 1.题目 题目链接:LINK 2.位运算算法 这个题目难点就在于不能用、- 那什么能够代替加号呢? 既然数的层面不能用号,那二进制的角度去用号即可。 恰好&a…

【RabbitMQ】SpringAMQP--消息转换器

SpringAMQP–消息转换器 测试发送Object类型消息 1.声明队列 Configuration public class FanoutConfig {Beanpublic Queue objectQueue(){return new Queue("object.queue");} }运行消费者后: 2.发送消息 RunWith(SpringRunner.class) SpringBootTes…

预训练模型语义相似性计算(十一) - M3E和BGE

M3E m3e由MokaAI 训练,开源和评测。 m3e的详细介绍可以看官方的github介绍。本文简要摘录其中一些点,以便后续的应用。 1.千万级 (2200w) 的中文句对数据(开源)。 2.支持同质相似句计算(s2s)和异质检索(s2p),后续支持代码检索。 3.m3e基座模…

景源畅信:抖音小店新手小白如何做好运营?

在数字时代的浪潮中,抖音小店成为了众多创业者和商家的新宠。但面对激烈的市场竞争和不断变化的平台规则,新手小白如何才能在抖音小店的海洋里稳健航行,捕捉到属于自己的商机呢?接下来的内容将为你揭晓答案。 一、精准定位,明确目…

20240521在Ubuntu20.04下编译RK3588平台的IPC方案

20240521在Ubuntu20.04下编译RK3588平台的IPC方案 2024/5/21 15:27 viewproviewpro-ThinkBook-16-G5-IRH:~$ viewproviewpro-ThinkBook-16-G5-IRH:~$ md5sum RK3588_IPC_SDK.tar.gz 7481cc8d59f697a5fa4fd655de866707 RK3588_IPC_SDK.tar.gz viewproviewpro-ThinkBook-16-G5…

三维科技云展厅如何突破传统展览的局限,赋能企业高效展示

一、三维科技展厅如何实现科技展示 1、高度互动的展示方式 三维科技展厅通过虚拟现实和3D建模技术,为观众提供高度互动的展示体验。观众可以身临其境地参观展品,从而获得更为真实的感受。这样的展示方式不仅能够吸引观众的注意力,还能够提高他…

微服务架构五大设计模式详解,助你领跑行业

微服务架构设计模式详解(5种主流模式) 微服务架构 微服务,一种革命性的架构模式,主张将大型应用分解为若干小服务,通过轻量级通信机制互联。每个服务专注特定业务,具备独立部署能力,轻松融入生产环境,为系…

据库管理-第195期 Oracle RDMA(20240527)

数据库管理195期 2024-05-27 数据库管理-第195期 Oracle & RDMA(20240527)1 RDMA & Exadata2 RDMA & OCI3 RDMA的难点总结 数据库管理-第195期 Oracle & RDMA(20240527) 作者:胖头鱼的鱼缸&#xff08…

平方回文数-第13届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第73讲。 平方回文数&#…

nginx编译安装手把手教学

编译安装nginx的第一步需要从nginx的官网找到nginx最新的稳定版本 下面这是官方网站的资源下载地址 https://nginx.org/en/download.html选中稳定版本点击右键——选择复制链接 在终端内使用wget指令官网下载地址,将nginx下载 使用wget指令下载 wget https://ng…

Docker 快速搭建 MongoDB 4.x 集群(一主一从)

目录 1. 生成 mongo-file2. 启动主节点3. 启动从节点4. 配置副本集5. 注意事项 环境:MongoDB 4.0.25,Alma Linux(建议使用 Linux) 部署的时候是在同一个及其上操作的,实际可以放在不同机器上。 截止到 2024年05月&…