首页 > 系统相关 >Nginx离线配置ssl证书

Nginx离线配置ssl证书

时间:2024-04-07 23:02:40浏览次数:29  
标签:ssl nginx 离线 openssl Nginx usr local 目录

纯离线的内网环境中使用 nginx 配置 ssl 并使用 https 访问网站。
对于服务器中 nginx 及其它环境的搭建,可参考我的该文章 Linux Centos7离线部署SpringBoot前后端分离项目
同时,该文章涉及的部分安装包已提供在以上文章的开头部分。

检查环境

进入 nginx 的安装目录(一般是 /usr/local/nginx),检查是否有 ssl 模块

cd /usr/local/nginx # 进入 nginx 安装目录
cd /sbin # 进入 sbin 目录
./nginx -V # 查看 nginx 的版本及相关配置

V 一定要是大写,小写只显示版本号。如果出现 configure arguments: --with-http_ssl_module,则跳过该步骤。

image

安装 openssl

想要使用 ssl 配置 https,环境中必须有 openssl。openssl 下载地址:https://www.openssl.org/source/ 。也可以去官方的 release 上寻找更多版本下载:https://github.com/openssl/openssl/releases

由于之前已有留存 openssl 安装包,所以使用的 openssl-1.1.1u 版本,此次文章的演示也是如此。最新的 openssl-3.x 可能与此版本存在不兼容情况,若出现额外问题,需自行解决。

image

上传 openssl 压缩包到指定的存放目录,例如我的存放目录:/data/software/nginx-deps
解压 openssl 压缩包

cd /data/software/nginx-deps
tar -zxvf openssl-1.1.1u.tar.gz  # 解压 openssl 压缩包
cd openssl-1.1.1u
./config

如果执行 ./config 出现如下错误信息,需根据提示安装 perl5,若没有则跳过

image

安装 perl5

去 perl 官网下载:https://www.perl.org/get.html

image

上传到服务器,解压

tar -zxvf perl-5.38.2.tar.gz
cd perl-5.38.2 # 进入 perl 目录

然后执行命令

./Configure -des -Dprefix=$HOME/localperl
make
make install

这个过程可能会比较漫长,如果环境中缺失 gcc 等,也会出现莫名其妙的错误,nginx 的离线配置可参考我的另一篇文章:Linux Centos7离线部署SpringBoot前后端分离项目

等待安装完成之后,就可以重新回到 openssl 安装的部分了。

再次安装 openssl

perl5 安装完毕,回到 opennssl 目录下,继续执行之前的操作,此时就不会报错了

cd openssl-1.1.1u
./config

安装 ssl 模块

一般是没有 ssl 相关模块的,此时进入到 解压缩目录
注意:是解压缩目录,因为是离线安装,必定需要上传 nginx 的压缩包进行解压,然后执行完 ./configure 之后,一般才会将 nginx 安装到 /usr/local/nginx 路径下
此处以我的安装目录为例:解压缩 nginx 的目录是 /data/software/nginx,安装后的目录是 /usr/local/nginx,则此时我需要进入 /data/software/nginx 进行之后的操作

# 进入我的 nginx 解压缩目录
cd /data/software/nginx

# 执行如下命令
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

然后执行 make 命令

make # 此处切记不要执行 make install,否则会重新安装 nginx

执行完以上操作后,使用 xftp 等工具查看 nginx 目录,此时会发现目录下多出一个 objs 文件夹,文件夹内存在 nginx 文件

image

image

停止 nginx 服务,用 objs 下的 nginx 文件替换掉 /usr/local/nignx/sbin 目录下的 nginx 执行文件

cd /usr/local/nginx/sbin
./nginx -s stop # 停止 nginx 服务
cp /data/software/nginx/objs/nginx /usr/local/nginx/sbin # 替换掉 sbin 下的 nginx 文件

image

查看 nginx 是否已配置号 ssl 模块,出现 configure arguments: --with-http_ssl_module,证明安装成功,如果此步就出现找不到 nginx.pid 的错误,可直接跳过看下边的解决方法。

./nginx -V

image

如果执行 -V 时出现权限补足,可给 nginx 文件提权

image

image

重启 nginx

./nginx

此时如果报错:nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
进入 logs 文件,发现 nginx.pid 确实没有了,执行如下命令

# 指定 nginx.conf 文件的位置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

再次执行 ./nginx 即可

https 配置(80 跳 443)

此处就仅仅涉及 nginx.conf 文件了

标签:ssl,nginx,离线,openssl,Nginx,usr,local,目录
From: https://www.cnblogs.com/jsonq/p/18120115

相关文章

  • nginx日志切割之logrotate
    配置详解logrotate是基于crond服务(定时任务)来运行的,有几个重要的配置:1、/etc/logrotate.conf(主配置)和/etc/logrotate.d/*(子配置)/etc/logrotate.conf是全局配置,logrotate.conf里面包含include/etc/logrotate.d这句,加载子配置文件的意思,说明/etc/logrotate.d/目录下是具体的配......
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)复现
    漏洞原理影响范围:Nginx0.8.41~1.4.3影响范围:Nginx1.5.0~1.5.7Nginx在解析php文件的时候通常在配置文件中如下配置location~\.php${roothtml;includefastcgi_params;fastcgi_passphp:9000;......
  • Nginx 解析漏洞复现
    该漏洞与php和nginx版本无关,是配置错误导致的问题漏洞描述通常在nginx.conf的配置文件或者include包含的其他配置文件下有以下信息location~\.php${fastcgi_indexindex.php;includefastcgi_params;fastcgi_paramR......
  • OpenStack离线安装系列0:制作yum源
    OpenStack离线安装系列0:制作yum源如果采用离线源代码安装,则通常需要配置本地pip源;如果采用离线软件安装包的形式安装,则通常需要配置本地yum源。环境说明系统:Centos7版本:CentOS-7-x86_64-Minimal-1908ISO下载链接:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-......
  • 内网nginx代理高德问题
    A为外网服务器B为内网服务器nginx配置server{listen8081;server_name15.72.185.21; location/webapi/{proxy_passhttp://15.72.191.145:18090/; } location/restapi{ proxy_passhttp://15.72.191.145:18090/restapi/;......
  • Nginx日志重定向到标准输出
    背景静态站点使用`docker`部署时,希望`nginx前台启动`的同时可以将错误日志和访问日志全部重定向到标准输出,便于采集和处理!实现只需要修改`nginx.conf`中`3行`关于日志的配置就OK了daemonoff;error_log/dev/stdoutwarn;access_log/dev/stdoutmain;其它配置项保持不变,效果......
  • Nginx 1.25.4 编译安装
    Nginx1.25.4源码编译安装最新长期技术支持版本 nginx-1.25.4,官方下载源码包: https://nginx.org/download/nginx-1.25.4.tar.gz一键安装脚本不啰嗦,脚本简单快速编译安装#!/bin/bash#安装相关包yum-yinstallgccpcre-developenssl-develzlib-develmakewget#......
  • nginx详解
    Nginx安装配置详解Nginx简介Nginx(“enginex”)是一款高性能的Web服务器和反向代理服务器,它采用事件驱动的异步结构,具有内存占用少、稳定性高、能够处理大量的并发请求,具有高效和低资源消耗等特点。Nginx常常被用作Web服务器、负载均衡器、反向代理和缓存服务器等。Nginx安装......
  • nginx怎么设置拦截请求
    Nginx设置拦截请求可以通过多种方式实现,具体取决于您想要拦截的请求类型、条件以及拦截后的处理方式。以下是几种常见的拦截请求场景及其配置方法:1.基于IP地址的拦截可以使用 allow 和 deny 指令来允许或拒绝特定IP地址或IP段的访问。通常放在 http, server,或 l......
  • docker-compose 安装nginx
    docker-compose.yamlversion:'3.3'services:nginx:image:nginxrestart:alwayshostname:nginxcontainer_name:nginxprivileged:trueports:-80:80-443:443volumes:-./nginx/conf/:/etc/nginx/......