Nginx核心要领十五:离线安装Nginx

写这边文章的原因是上线环境被扫描出两个漏洞

  • 1.SSL/TLS协议信息泄漏漏洞(CVE-2016-2183)原理扫描
    • 1.1.需要修改算法:ssl_ciphers HIGH:!aNULL:!MD5:!3DES;
  • 2.Nginx安全漏洞(CVE-2021-23017)
    • 2.1.需要升级OpenSSL版本,openssl-1.1.1v-1.el7.x86_64.rpm

线上服务器是内网环境,nginx 使用 rpm -ivh nginx-1.22.1-1.el7.ngx.x86_64.rpm安装的(因无法联网很多依赖不能通过yum命令安装),出现上面的漏洞后,发现使用 rpm 安装的nginx 无法指定 OpenSSL版本,只能通过 ./configure --prefix=/usr/local/nginx --with-openssl=/usr/openssl/ 编译方式安装来指定openss

下面给出具体的安装步骤
1.找一台能访问外网的linux服务器,安装依赖下载工具,执行如下命令,下载安装nginx需要的所有依赖,然后把 rpm_0922 文件夹上传到内网服务器

mkdir /root/rpm_0922 
cd /root/rpm_0922
yum -y install yum-utils
repotrack gcc gcc-c++ automake autoconf libtool make pcre-devel openssl openssl-devel zlib zlib-devel

2.在内网服务器上,cd 到 rpm_0922目录,安装该目录中所有依赖

rpm -ivh *.rpm --force --nodeps

3.查看OpenSSL安装目录,查看OpenSSL版本以及获取 OPENSSLDIR: “/usr/openssl”

openssl version -a

4.编译安装nginx

tar -xvzf nginx-1.22.1.tar.gz
cd nginx-1.22.1
./configure --prefix=/usr/local/nginx  --with-openssl=/usr/openssl/ --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_v2_module
make && make install

5.配置nginx

upstream hapi-ard{server 127.0.0.1:8083;
}server {listen       443 ssl;server_name  localhost;access_log  /var/log/nginx/host.access.log  main;location / {root   /usr/share/nginx/html;index  index.html index.htm;}location ^~/hapi-ard/{rewrite ^/hapi-ecard-front/(.*)$ /$1 break;proxy_pass http://hapi-ard;proxy_set_header Host $host;proxy_set_header X-Forwarded-Proto https;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-DOCUMENT-URI $request_uri;}ssl_certificate /usr/local/nginx/cert/busined.caizyf.com.pem;ssl_certificate_key /usr/local/nginx/cert/busined.caizyf.com.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!3DES;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;
}

离线安装nginx的所有依赖我打包好了,下载地址:https://download.csdn.net/download/zhuyu19911016520/88365431?spm=1001.2014.3001.5501

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

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

相关文章

大模型从入门到应用——LangChain:代理(Agents)-[计划与执行]

分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识快速入门 安装与环境配置链(Chains)、代理(Agent:)和记忆(Memory)快速开发聊天模型 模型(Models&…

javax.validation.constraints校验

这个必须配合Validated 使用 三者都得不为null (没有参数传过来即为null ) notNull 可以为空白或空格(长度不限) NotEmpty 长度要大于0 (可以为空格,因为空格也有长度) NotBlank 只能用在 string ,并且去掉空格之后要大于0

软件测试商城项目优惠券超发问题该怎么测试?

【2023性能测试完整版】这可能是B站讲得最好的软件测试课程(Jmeter 接口测试实战 Loadrunner Tomcat综合教程)软件测试面试、自动化测试。 在拼夕夕面试中,面试官问了一连串经典的问题:“优惠券库存是怎么扣减的?开发为…

k8s-2 集群升级

首先导入镜像到本地 然后上传镜像到仓库 在所有集群节点 部署cri-docker k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker 配置cri-docker 升级master 节点 升级kubeadm 执行升级计划 修改节点套接字 腾空节点 升级kubelet 配置k…

通过conda创建纯净Python环境

参考conda create 怎么创建纯净的 Python3.6 环境? 创建一个干净的python3.10的环境: 当前目录下创建一个environment.txt文件,写入: EXPLICIT https://repo.anaconda.com/pkgs/main/linux-64/python-3.10.13-h955ad1f_0.tar.bz…

Spring相关

spring工作原理简单介绍循环依赖问题spring/spring boot启动加载过程 ?springboot是怎么运行起来的 使用springboot的好处是什么?描述下spring的ioc和aopspring task是怎么实现的?spring事务你是怎么用的?加了@Transcational注解spring都做了哪些工作?怎么知道事务执行成功…

uniapp瀑布流布局写法

首先我们要清楚瀑布流是什么? 瀑布流布局(Waterfall Flow Layout),也称为瀑布流式布局,是一种常见的网页或移动应用布局方式,特点是元素以不规则的方式排列,就像瀑布中的流水一样,每…

github 网页显示不全?

问题 解决 1、检查网页,打开 network,重新刷新 github 网页 2、查看无法加载的资源(如 css 文件) 3、查看域名地址 https://tool.chinaz.com/dns/,github.githubassets.com(检查网页元素,点击无…

【从0学习Solidity】 6. 引用类型, array, struct

【从0学习Solidity】 6. 引用类型, array, struct 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页&…

一百八十二、大数据离线数仓——离线数仓从Kafka采集、最终把结果数据同步到ClickHouse的完整数仓流程(待续)

一、目的 经过6个月的奋斗,项目的离线数仓部分终于可以上线了,因此整理一下离线数仓的整个流程,既是大家提供一个案例经验,也是对自己近半年的工作进行一个总结。 二、项目背景 项目行业属于交通行业,因此数据具有很…

《信息系统项目管理师教程(第4版)》第1章至第5章 信息化发展、信息技术发展、信息系统治理、信息系统管理、信息系统工程 常见考点、知识点、思维导图、xmind

第一章至第五章多以选择题形式考察,分值在20分左右。已将考点、知识点整理成思维导图,可免费下载。以下是思维导图的部分截图: 第一章 信息化发展 第二章 信息技术发展 第三章 信息系统治理 第四章 信息系统管理 第五章 信息系统工程

【100天精通Python】Day67:Python可视化_Matplotlib 绘动画,2D、3D 动画 示例+代码

1 绘制2D动画(animation) Matplotlib是一个Python绘图库,它提供了丰富的绘图功能,包括绘制动画。要绘制动画,Matplotlib提供了FuncAnimation类,允许您创建基于函数的动画。下面是一个详细的Matplotlib动画示…

调用GPT接口使用3.5模型报错:Unrecognized request argument supplied: messages

报错信息: 话不多说,今天我请求chatgpt接口返回这样的信息: {"error": {"message": "Unrecognized request argument supplied: messages","type": "invalid_request_error","para…

SpringCloud Gateway--网关服务基本介绍和基本原理

😀前言 本篇博文是关于SpringCloud Gateway的基本介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力…

Postman应用——测试脚本Test Script

文章目录 Test Script脚本CollectionFolderRequest 解析响应体断言测试 测试脚本可以在Collection、Folder和Request的Pre-request script 和 Test script中编写,测试脚本可以检测请求响应的各个方面,包括正文、状态代码、头、cookie、响应时间等&#x…

点云从入门到精通技术详解100篇-定子装配过程中基于深度学习的易变形材料的点云分割(下)

目录 4.3.2 校正网络 4.3.3 浅层特征提取网络 4.3.4 空间边界 Transformer 深层特征提取网络 4.3.5 损失函数

【Java】Pattern 与 Matcher 类的常见应用

在 Java 编程中,我们经常需要处理字符串的匹配和替换操作。为了便捷地实现这些功能,Java 提供了 Pattern 类和 Matcher 类。Pattern 类用于定义正则表达式模式,而 Matcher 类用于在给定的输入字符串中进行匹配操作。 本文将介绍 Pattern 类和…

Vue脚手架一站式搭建项目

一、什么是vue-cli 1.1如果你只是简单写几个Vue的Demo程序,那么你不需要VueCLI脚手架。 1.2.如果你在开发大型项目,那么你需要,并且必然需要使用VueCLI。 1.2.1使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和…

安全基础 --- nodejs沙箱逃逸

nodejs沙箱逃逸 沙箱绕过原理:沙箱内部找到一个沙箱外部的对象,借助这个对象内的属性即可获得沙箱外的函数,进而绕过沙箱 前提:使用vm模块,实现沙箱逃逸环境。(vm模式是nodejs中内置的模块,是no…

凹凸贴图和法线贴图的区别

1、什么是凹凸贴图 凹凸贴图(bump mapping)是一种计算机图形学中的渲染技术,用于在给定的表面上模拟微小的凹凸纹理。通过在表面法线方向上微调每个像素的光照值,可以给平滑的表面增加视觉上的凹凸感。 在凹凸贴图中,每…