nginx 离线安装 https反向代理

这里写自定义目录标题

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

​只需下载如下依赖即可:

bash 复制代码
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 编译安装

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

bash 复制代码
./configure
make
make install

1.3 下载安装zlib

1.3.1 下载zlib

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

1.3.2 上传解压安装包

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

1.3.3 编译安装

顺序执行一下命令:

bash 复制代码
./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 编译安装验证

顺序执行一下命令:

bash 复制代码
#编译安装
./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配置

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

bash 复制代码
#配置 支持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 编译安装

顺序执行以下命令

bash 复制代码
make
make install

2.5 检查并启动

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

启动nginx,命令:

bash 复制代码
./nginx

浏览器访问nginx,前提是80端口可以访问。浏览器直接输入IP

3. 配置https反向代理

3.1 用openssl生成公钥和私钥

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

生成证书请求文件

bash 复制代码
openssl req -new -key nginx.key -out nginx.csr

生成证书

bash 复制代码
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文件

bash 复制代码
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安装目录

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

https://example.com

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

相关推荐
寻星探路5 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
王达舒19945 小时前
HTTP vs HTTPS: 终极解析,保护你的数据究竟有多重要?
网络协议·http·https
朱皮皮呀5 小时前
HTTPS的工作过程
网络协议·http·https
Binary-Jeff5 小时前
一文读懂 HTTPS 协议及其工作流程
网络协议·web安全·http·https
七夜zippoe8 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy6489 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满9 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠10 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey90310 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技11 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市