nginx 安全配置

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#白名单IPallow 10.1.1.10;allow 10.1.1.11然后在nginx 配置文件中引用此文件,如下
location /{include /home/whitelist.conf;#默认位置路径为/etc/nginx/ 下,#如直接写include whitelist.conf,则只需要在/etc/nginx目录下创建whitelist.confdeny 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.mzph.cn/news/843119.shtml

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

相关文章

「AIGC算法」R-tree算法

R-tree算法是一种非常实用的空间数据索引技术,它可以帮助我们在复杂的空间数据中快速找到我们想要的信息。下面我将用一些生活中的例子来帮助大家更好地理解R-tree算法。 1. 定义与原理 想象一下,你有一个巨大的图书馆,里面有成千上万本书,每本书都有它在书架上的特定位置…

【Python设计模式01】面向对象基础

1.类与实例 在面向对象编程中,类和实例是两个基本的概念。 类(Class) 类是对象的蓝图或模板,它定义了一组属性和方法,这些属性和方法将由该类的所有实例共享。类用于封装数据和行为,使代码更加模块化和易…

720VR三维立体小程序源码系统 手机电脑端自适应 前后端分离 带完整的安装代码包以及搭建教程

系统概述 720VR 三维立体小程序源码系统是基于先进的技术和理念打造而成的综合性平台。它融合了虚拟现实技术、移动互联网技术以及计算机编程技术,旨在为用户提供沉浸式的 720 度全景体验。 该系统的设计充分考虑了用户的需求,无论是在手机端还是电脑端…

芯生态 | 鸿道Intewell工业操作系统适配Intel Core i7-8700T

操作系统与芯片在计算机系统中是不可或缺的存在,它们共同协作以确保计算机硬件和软件资源的有效管理和利用、确保系统正常运行和性能优化。 操作系统的设计和实现需要考虑芯片的特性和性能,完美的适配才能充分发挥硬件资源的潜力。下面,小编…

vue-cli2项目中使用scss

前言: 首先要搞清楚Sass和Scss的区别: 实际上Sass和Scss是同一种东西,Scss是 Sass3 引入新的语法,它们都是css预处理器。通常称为Sass,但存在两种不同的语法风格: 文件扩展名:Sass 默认…

探索Python的包与模块:构建项目的基石

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、模块与包的基础认知 1. 模块的定义与创建 2. 包的组织与管理 二、模块与包的进阶使用…

懒人创业秘诀揭秘:加入萤瓴优选项目,普通人也能打开财富大门

创业对于很多人来说,是一个艰难而复杂的过程。然而,时代的发展带来了新的机遇,懒人创业成为了一种趋势。加入萤瓴优选项目,普通人也能轻松打开财富大门。本文将揭秘懒人创业的秘诀,并分析萤瓴优选项目如何帮助普通人实…

极致产品力|从toB到toC,年销4.2亿份的冻干品牌是如何炼成的?

天野食品是日本冻干食品长红40年的品牌,从制造焦糖的小工厂,转变为日本冻干速食的行业第一,它是如何做到的呢? 深耕TOB业务,如何在ToC业务创造增长 天野公司以冻干食品闻名但并非以此起家。自1940年成立以来,便以染料…

tomcat不定时宕机,Failed to write core dump

在linux上的tomcat部署的web应用,不定时会自动挂掉,排查tomcat安装路径/logs/catalina.out 发现提示Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java a…

前端本地项目启动供后端或者测试调试

目录 1、项目本地启动的地址 2、打开终端输入 ifconfig 查找ip 3、将localhost替换成ip即可供他人测试 1、项目本地启动的地址 http://localhost:8100/?module220&webRoutevpc-gray&backRoutevpc-gray........................... 2、打开终端输入 ifconfig 查找i…

android Seek当点击的时候有一个圆圈

最近项目中Seekbar的时候遇到一个问题&#xff1a;点击进度条或者拖动进度条的时候&#xff0c;seekbar出现一个圆形的半透阴影/白色圆圈&#xff1a; <xxxxxxxxxSeekBarandroid:layout_width"wrap_content"android:layout_height"40dp"android:backgro…

DreamPose: Fashion Image-to-Video Synthesis via Stable Diffusion

UW&UCB&Google&NVIDIA ICCV23https://github.com/johannakarras/DreamPose?tabreadme-ov-file 问题引入 输入参考图片 x 0 x_0 x0​和pose序列 { p 1 , ⋯ , p N } \{p_1,\cdots,p_N\} {p1​,⋯,pN​}&#xff0c;输出对应视频 { x 1 ′ , ⋯ , x N ′ } \{x_1,…

浙江大学数据结构MOOC-课后习题-第十讲-排序5 PAT Judge

题目汇总 浙江大学数据结构MOOC-课后习题-拼题A-代码分享-2024 题目描述 这段文字是关于如何生成PAT&#xff08;一种编程能力测试&#xff09;的排行榜的说明。下面是这段文字的中文翻译&#xff1a; 输入说明&#xff1a; 每个输入文件包含一个测试案例。对于每个案例&…

存储器带宽

定义 存储器单位时间内读出/写入的位数或字节数 单位 单位是bps&#xff08;位/秒&#xff09;或B/s&#xff08;字节/秒&#xff09; 计算公式 基于存储器时频率和数据总线位数的计算方法 公式&#xff1a;带宽 存储器时频率 存储器数据总线位数 / 8 基于存取周期和每…

./configure 放开OPENSSL_X509_H宏定义

在使用 ./configure 脚本编译软件时&#xff0c;可以通过在命令行中添加 --enable-FEATURE、–with-PACKAGE 或 --disable-FEATURE 等参数来配置宏。这些参数会设置配置变量&#xff0c;进而可能影响编译时的宏定义。 例如&#xff0c;如果你想启用某个特性&#xff0c;可以使…

智慧园区:打造未来城市的新模式

随着城市化进程的加速和科技创新的推动&#xff0c;城市面临着诸多挑战和机遇。如何提升城市的竞争力和可持续性&#xff0c;是一个亟待解决的问题。在这个背景下&#xff0c;智慧园区作为一种新型的城市发展模式&#xff0c;引起了越来越多的关注和探索。 什么是智慧园区&…

天若OCR 识别 (本地文字识别转换工具)

前言 天若OCR文字识别本地版是一款在天若OCR文字识别工具v5.0免费开源版的基础上采用Chinese-lite框架和Paddle-ocr框架本地化识别接口编译而成,无需联网也无需申请密钥&#xff0c;纯本地运算&#xff0c;识别准确度和速度很快&#xff0c;操作和天若OCR免费版一样&#xff0…

如何将短信从 iPhone 传输到计算机 - 5 种灵活的方式

概括 与他人交流的多种方式之一是发送短信。对于那些包含珍贵回忆或重要信息的消息&#xff0c;您需要将它们发送到另一台设备&#xff08;例如计算机&#xff09;进行备份。将短信文件发送到计算机是保存宝贵数据的最佳方法之一。继续阅读本文&#xff0c;了解如何将短信从 i…

工作五年后的程序员,一般怎样了?

本科一般是22岁毕业&#xff0c;5年开发经验一般是指27岁。这个阶段&#xff0c;不少程序员可能通过多次跳槽&#xff0c;薪资有一定涨幅&#xff0c;但真有可能还在小公司甚至外包公司做增删改查的业务&#xff0c;然后坐等30岁的到来。 就以Java为例&#xff0c;一些发展情况…

gitlab将本地文件项目上传至gitlab服务

打开gitlab网页界面&#xff0c;登陆管理员账号 &#xff08;测试服务器安装的gitlab&#xff0c;浏览器输入ip或配置的gitlab地址&#xff09; 创建新项目 使用gitlab创建项目 创建一个新项目&#xff08;忽略分组&#xff09; &#xff08;忽略分组&#xff09; 在创建工…