nginx编译以及通过自定义生成证书配置https

1. 环境准备

1.1 软件安装

nginx安装编译安装以及配置https,需要gcc-c++ pcre-devel openssl openssl-devel软件。因此需要先安装相关软件。

yum -y install gcc-c++ pcre-devel openssl openssl-devel wget

openssl/openssl-devel:主要用于nginx编译的http_ssl_module模块安装以及证书的生成。

1.2 安装包下载

wget http://nginx.org/download/nginx-1.25.1.tar.gz

2. nginx软件编译

依次执行如下命令:

  • 解压压缩包

    tar -zxvf nginx-1.25.1.tar.gz
    
  • 执行属性配置

    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    

    http_ssl_module:支持配置https模块
    –prefix=/usr/local/nginx:表示nginx最终辉安装到/usr/local/nginx目录下

    在这里插入图片描述

  • 编译并且安装

    make && make install
    

3. 测试nginx编译是否成功

/usr/local/nginx/sbin/nginx

/usr/local/nginx:这个路径是在步骤执行属性配置部分配置的路径。

http://192.168.10.100/

在这里插入图片描述

4 生成证书

4.1 生成私钥

在这个过程中会输入一个密码,我们暂时记住这个密码,后面会取消。我们可以进入nginx安装路面/usr/local/nginx,创建ssl的文件夹,在这里执行如下命令:

openssl genrsa -des3 -out server.key 2048

在这里插入图片描述

4.2 生成CSR

CSR,(Certificate Signing Request 证书签名请求 )

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

在此期间,Comm Name可以填写一下域名,其他可以忽略不填。
在这里插入图片描述

4.3 取消私钥当中的密码

openssl rsa -in server.key -out server.key

在这里插入图片描述

4.4 生成自签名SSL证书

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

4.5 查看证书生成情况

[root@localhost ssl]# pwd
/usr/local/nginx/ssl
[root@localhost ssl]# ll
总用量 12
-rw-r--r--. 1 root root 1159 88 01:56 server.crt
-rw-r--r--. 1 root root  985 88 01:54 server.csr
-rw-r--r--. 1 root root 1679 88 01:55 server.key

5 nginx配置https

在nginx.conf配置如下代码:

server {listen       443 ssl;server_name  greateme.com;ssl_certificate /usr/local/nginx/ssl/server.crt;ssl_certificate_key /usr/local/nginx/ssl/server.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {root   html;index  index.html index.htm;}
}

重新加载配置文件

/usr/local/nginx/sbin/nginx -s reload

6 验证配置是否成功

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

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

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

相关文章

程序员编写文档的 10 个技巧

编写好的文档在软件开发领域具有重大意义。文档是概述特定问题陈述、方法、功能、工作流程、架构、挑战和开发过程的书面数据或指令。文档可以让你全面了解解决方案的功能、安装和配置。 文档不仅是为其他人编写的,也是为自己编写的。它让我们自己知道我们以前做过什…

水果店小程序开发

水果店小程序是一款集合了多种实用功能的应用程序,旨在为用户提供方便快捷的购买水果的方式。以下是该小程序的主要功能介绍: 1. 水果浏览:用户可以通过小程序浏览水果店的所有水果产品。每个水果都有详细的介绍,包括产地、口感、…

C++类的定义和对象的创建

一、问题引入 C类和对象到底是什么意思? 1、C 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同; …

electron+vue3全家桶+vite项目搭建【25】使用electron-updater自动更新应用

文章目录 引入实现效果实现步骤引入依赖配置electron-buidler文件封装版本升级工具类主进程调用版本更新校验渲染进程封装方法调用 测试版本更新 引入 demo项目地址 electron-updater官网 我们不可能每次发布新的版本都让用户去手动下载安装最新的包,而是应用可以…

再次斩获第一,文心3.5霸榜国内大模型

目录 1 什么是文心一言?2 体验与文心一言对话3 文心3.5霸榜国内大模型 1 什么是文心一言? 文心一言是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作&#xf…

wxwidgets Ribbon使用wxRibbonToolBar实例

wxRibbonToolBar就是工具栏,一下是实现的效果,界面只是功能展示,没有美化 实现代码如下所示: MyFrame::MyFrame(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(800, 600)) …

Python爬虫—破解JS加密的Cookie

前言 在进行网站数据爬取时,很多网站会使用JS加密来保护Cookie的安全性,而为了防止被网站反爬虫机制识别出来,我们通常需要使用代理IP来隐藏我们的真实IP地址。 本篇文章将介绍如何结合代理IP破解JS加密的Cookie,主要包括以下几个…

Acwing.876 快速幂求逆元

题目 给定n组ai ,pi,其中p;是质数,求α;模p;的乘法逆元,若逆元不存在则输出impossible。 输入格式 第一行包含整数n。 接下来n行,每行包含一个数组ai, pi,数据保证p;是质数。 输出格式 输出共n行,每组数据输出一…

谈谈DNS是什么?它的作用以及工作流程

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、DNS是什么? 二、DNS的作用 三、DNS查询流程 1、查看浏览器缓存 2、查看系统缓存 3、查看路由器缓存 4、查看ISP …

STM32 DMA学习

DMA简称 DMA,Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。…

Java私有仓库Nexus搭建部署

Java私有仓库Nexus搭建部署 需求分析 为什么要搭建部署Nexus私有仓库,有什么用,用来干什么,怎么用,也许是大家看到这篇文章的第一个反应和疑惑,这里给大家先笼统的做一个介绍: 依赖管理:在Java…

24届近5年上海大学自动化考研院校分析

今天给大家带来的是上海大学控制考研分析 满满干货~还不快快点赞收藏 一、上海大学 学校简介 上海大学是上海市属的综合性研究型大学,是教育部与上海市人民政府共建高校,是国家“211 工程”重点建设高校、上海市高水平地方大学建设高校&a…