nginx 离线安装 https反向代理

news2024/12/23 9:48:46

这里写自定义目录标题

  • 安装步骤
    • 1.安装nginx所需依赖
      • 1.1 安装gcc和gcc-c++
        • 1.1.1下载依赖包
        • 1.1.2 上传依赖包
        • 1.1.3安装依赖
      • 1.2 安装pcre
        • 1.2.1 下载pcre
        • 1.2.2 上传解压安装包
        • 1.2.3 编译安装
      • 1.3 下载安装zlib
        • 1.3.1 下载zlib
        • 1.3.2 上传解压安装包
        • 1.3.3 编译安装
      • 1.4 下载安装openssl
        • 1.4.1 下载
        • 1.4.2 上传解压安装包
        • 1.4.3 编译安装验证
    • 2. 下载安装nginx
      • 2.1 下载nginx安装包
      • 2.2 上传解压安装包
      • 2.3配置
      • 2.4 编译安装
      • 2.5 检查并启动
    • 3. 配置https反向代理
      • 3.1 用openssl生成公钥和私钥
      • 3.2 修改nginx配置 并重启验证
        • 3.2.1 修改nginx配置
        • 3.2.2 重启nginx
        • 3.2.3 修改hosts
        • 3.2.4 浏览器访问验证

安装步骤

1.安装nginx所需依赖

1.1 安装gcc和gcc-c++

1.1.1下载依赖包

gcc依赖下载镜像地址:
官网:https://gcc.gnu.org/releases.html
阿里云镜像站:http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
CentOS 镜像站点:https://vault.centos.org/7.5.1804/os/x86_64/Packages/
​只需下载如下依赖即可:

cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
glibc-headers-2.17-317.el7.x86_64.rpm
kernel-headers-3.10.0-1160.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm
-----------------------
gcc-c++-4.8.5-44.el7.x86_64.rpm
libstdc++-4.8.5-44.el7.x86_64.rpm
libstdc++-devel-4.8.5-44.el7.x86_64.rpm
1.1.2 上传依赖包

下载完成后,将依赖包上传到服务器,若权限不足不能上传,可以通过 sudo chmod -R 777 文件夹路径名命令增加权限

1.1.3安装依赖

进入上传目录,输入rpm -Uvh *.rpm --nodeps --forc命令进行批量安装,出现下图则说明安装成功

在这里插入图片描述
使用gcc-v和g++ -v命令查看版本,若出现版本详情则说明离线安装成功,如下图示:

在这里插入图片描述

1.2 安装pcre

1.2.1 下载pcre

下载地址​http://www.pcre.org/​

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2.2 上传解压安装包

将下载好的安装包上传到服务器,并解压,解压命令tar -xvf pcre-8.45.tar.gz

1.2.3 编译安装

进入解压目录,依次执行以下命令:

./configure
make
make install

1.3 下载安装zlib

1.3.1 下载zlib

下载地址:http://www.zlib.net/

在这里插入图片描述

1.3.2 上传解压安装包

将下载好的安装包上传到服务器,并解压

1.3.3 编译安装

顺序执行一下命令:

./configure
make && make install

1.4 下载安装openssl

检查是否已安装openssl,输入命令openssl version,若出现版本信息,则无需安装;若没有安装则继续安装

1.4.1 下载

地址:https://www.openssl.org/source/
或者:https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz

在这里插入图片描述

1.4.2 上传解压安装包

将下载好的安装包上传到服务器,并解压

1.4.3 编译安装验证

顺序执行一下命令:

#编译安装
./config --prefix=/usr/local/ssl
make && make install
#修改软连接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl 
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
#查看版本
openssl version -a 

在这里插入图片描述

2. 下载安装nginx

2.1 下载nginx安装包

下载地址:https://nginx.org/en/download.html

2.2 上传解压安装包

将下载好的安装包上传到服务器,并解压

2.3配置

进入解压目录进行配置安装:

#配置 支持https需要用--with-http_ssl_module --with-openssl  
#其中with-openssl这个路径是openssl的解压路径(不是安装路径)
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/openssl-1.0.2

2.4 编译安装

顺序执行以下命令

make
make install

2.5 检查并启动

进入安装目录下的sbin文件夹,输入./nginx -t,如下图则说明安装成功

在这里插入图片描述
启动nginx,命令:

./nginx

浏览器访问nginx,前提是80端口可以访问。浏览器直接输入IP
在这里插入图片描述

3. 配置https反向代理

3.1 用openssl生成公钥和私钥

#生成一个私钥文件,在当前路径下 文件名叫nginx.key 1024位
openssl genrsa -out nginx.key 1024

在这里插入图片描述
生成证书请求文件

openssl req -new -key nginx.key -out nginx.csr

生成证书

openssl x509 -req -days 3650 -in nginx.csr -signkey nginx.key -out nginx.crt

3.2 修改nginx配置 并重启验证

3.2.1 修改nginx配置

进入nginx安装目录的conf下,修改nginx.conf文件

server {  
    listen 443 ssl;  
    server_name example.com;  # 替换为您的域名  
    ssl_certificate /path/to/nginx.crt;  # 替换为您的SSL证书文件路径  
    ssl_certificate_key /path/to/nginx.key;  # 替换为您的SSL证书密钥文件路径  
    location / {  
			proxy_pass http://backend_server;  # 替换为实际的后端服务器地址  
     	proxy_set_header Host $host;  
			proxy_set_header X-Real-IP $remote_addr;  
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
			proxy_set_header X-Forwarded-Proto $scheme;  
	}  
}
3.2.2 重启nginx

进入nginx安装目录

./sbin/nginx -s reload
3.2.3 修改hosts
127.0.0.1   example.com
3.2.4 浏览器访问验证

https://example.com

前部分参考https://blog.csdn.net/Shiny_boy_/article/details/126965658,有稍微的改动感谢!!!

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

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

相关文章

UG扫掠体与部件导航器的使用

扫掠体命令的本质在我看来,就是用一个道具沿着轨迹线在选中的实体中进行加工,切除相应部分; 有如下原则 扫掠体: 引导线必须光顺相切,不能有尖角 工具体: 1、必须为单个的实体,不能有孔或内…

[NISACTF 2022]babyserialize

[NISACTF 2022]babyserialize 题目做法及思路解析(个人分享) 题目平台地址:NSSCTF | 在线CTF平台 一、题目代码 查看分析代码,寻找漏洞点(题目中注释为个人思路标注,实际代码中没有) …

每日一题,二维平面

给你 二维 平面上两个 由直线构成且边与坐标轴平行/垂直 的矩形,请你计算并返回两个矩形覆盖的总面积。 每个矩形由其 左下 顶点和 右上 顶点坐标表示: 第一个矩形由其左下顶点 (ax1, ay1) 和右上顶点 (ax2, ay2) 定义。 第二个矩形由其左下顶点 (bx1, …

牛客小白月赛78(C: 第K小表示数)

C-第K小表示数_牛客小白月赛78 (nowcoder.com) 问题: 分析: k的极限是1e6,因此要几乎O(n)的时间复杂度给求出来,还需要每插入一个元素我都要去排序,这个时候set就派上用场了,自带排序和去重,集合里面最小和第二小的一定是min(a…

LeetCode 647回文子串 517最长回文子序列 | 代码随想录25期训练营day57

动态规划算法14 LeetCode 647 回文子串 2023.12.20 题目链接代码随想录讲解[链接] int countSubstrings(string s) {//暴力搜索&#xff0c;前两层遍历确定子字符串的起始和末尾位置//第三层循环判断当前子字符串是否为回文串/*int result 0;for (int i 0; i < s.size…

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口&#xff1f;&#xff01;&#x1f60e; 前言&#x1f64c;【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口&#xff1f;&#xff01;查看自己的配置文件&#xff1a;最终成功访问如图所示&#xff1a; 总结撒花…

Best script for images porter 【容器镜像搬运最佳脚本】

文章目录 1. 简介2. 功能3. 代码4. 示例4.1 拉取 kube-prometheus-stack 55.4.1 版本的镜像 1. 简介 很多情况下&#xff0c;针对一个项目会有很多镜像需要搬运&#xff0c;打包&#xff0c;解压&#xff0c;打标签&#xff0c;推送入库。该项目将针对多个镜像进行管理操作。方…

vscode配置node.js调试环境

node.js基于VSCode的开发环境的搭建非常简单。 说明&#xff1a;本文的前置条件是已安装好node.js(具体安装不再赘述&#xff0c;如有需要可评论区留言)。 阅读本文可掌握&#xff1a; 方便地进行js单步调试&#xff1b;方便地查看内置的对象或属性&#xff1b; 安装插件 C…

GEE:如何解决随机森林分类器的确定性伪随机性?使得每次运行结果(OA、Kappa和混淆矩阵等)不一样

作者:CSDN @ _养乐多_ 在使用 Google Earth Engine(GEE)平台进行土地利用分类时,我们采用了随机森林分类器。理论上,由于该算法的随机性,每次运行后的分类结果应该是不同的。然而,我们在实际应用中却观察到每次运行后总体精度OA值和Kappa值都呈现出完全相同的结果。 这…

云原生消息流系统 Apache Pulsar 在腾讯云的大规模生产实践

导语 由 InfoQ 主办的 Qcon 全球软件开发者大会北京站上周已精彩落幕&#xff0c;腾讯云中间件团队的冉小龙参与了《云原生机构设计与音视频技术应用》专题&#xff0c;带来了以《云原生消息流系统 Apache Pulsar 在腾讯云的大规模生产实践》为主题的精彩演讲&#xff0c;在本…

Qt中多线程使用案列

Qt中多线程下载大文件 #pragma once#include <QWidget> #include <QPushButton> #include "ThreadPool.h" #include <QProgressBar> #include <QLabel> #include <QHBoxLayout> #include <QVBoxLayout> class MainWindow : pub…

Matlab论文插图绘制模板第131期—函数等高线图

在之前的文章中&#xff0c;分享了Matlab函数折线图的绘制模板&#xff1a; 函数三维折线图&#xff1a; 函数网格曲面图&#xff1a; 函数曲面图&#xff1a; 进一步&#xff0c;再来分享一下函数等高线图。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数…

(9)Linux Git的介绍以及缓冲区

&#x1f4ad; 前言 本章我们先对缓冲区的概念进行一个详细的探究&#xff0c;之后会带着大家一步步去编写一个简陋的 "进度条" 小程序。最后我们来介绍一下 Git&#xff0c;着重讲解一下 Git 三板斧&#xff0c;一般只要掌握三板斧就基本够用了。 缓冲区&#xff…

PostgresSQL数据库中分区和分表的区别以及PostgresSQL创建表分区分表示例

1.分区分表理解 数据库分区和分表都是数据库中常用的数据分散存储技术&#xff0c;但它们的实现方式和应用场景有所不同。 分表&#xff1a;将一个大的表拆分成多个小的表&#xff0c;每个子表存储一部分数据。分表可以减轻单个表的数据量&#xff0c;提高查询效率&#xff0c…

系统架构设计师教程(八)系统质量属性与架构评估

系统质量属性与架构评估 8.1 软件系统质量属性8.1.1 质量属性概念开发期质量属性运行期质量属性 8.1.2 面向架构评估的质量属性8.1.3 质量属性场景描述 8.2 系统架构评估8.2.1 系统架构评估中的重要概念8.2.2 系统架构评估方法SAAM 方法ATAM方法CBAM 方法其他方法 8.3 ATAM方法…

C++继承与派生——(2)派生类

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 缺乏明确的目标&#xff0c;一生将庸庸…

内网渗透:拿下一台内网主机后如何继续攻击拿下域控主机

目录 #### 域的定义&#xff1a;将网络中的多台计算机在逻辑上组织到一起&#xff0c;进行集中管理。 域控攻击目标 1. 判断当前主机是否在域中 windows系统的三种登录方式 NTLM协议 从上篇文章拿下10.0.1.4这台服务器后&#xff0c;发展对内网进行攻击&#xff0c;打穿这…

[SWPUCTF 2021 新生赛]easy_md5

打开环境 这儿考弱比较&#xff0c;之前的WP里写过绕过方法&#xff0c;这儿我们直接数组绕过 构造GET传参name[]123 , POST传参password[]456得到flag

在区块链中看CHAT的独特见解

问CHAT&#xff1a;谈谈对区块链以及区块链金融的理解 CHAT回复&#xff1a;区块链是一种去中心化的分布式数据库技术&#xff0c;这种技术通过加密算法&#xff0c;使数据在网络中传输和存储的过程变得更加安全可靠。区块链的出现引领了存储、交易等形式的革命&#xff0c;改变…

SSH无密登陆配置

1 SSH介绍 ssh命令用于远程登录到其他计算机&#xff0c;实现安全的远程管理。 基本语法&#xff1a; ssh 域名/IP地址 示例&#xff1a; &#xff08;1&#xff09;从hadoop100服务器上远程连接hadoop101服务器 [hadoophadoop100 ~]$ ssh hadoop101 如果出现如下内容 Ar…