使用 OpenSSL 创建自签名证书

news/2024/9/17 8:03:15/ 标签: nginx, 运维

mkdir -p /etc/nginx/conf.d/cert
#2、创建私钥
openssl genrsa -des3 -out https.key 1024
提示输入字符:
输入字符:rancher
[root@ocean-app-1a-01 cert]# openssl genrsa -des3 -out https.key 1024
Generating RSA private key, 1024 bit long modulus
…++++++
…++++++
e is 65537 (0x10001)
Enter pass phrase for https.key:
139880595519376:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:831:You must type in 4 to 1023 characters
Enter pass phrase for https.key:
Verifying - Enter pass phrase for https.key:
#3、创建签名请求证书
openssl req -new -key https.key -out https.csr

[root@ocean-app-1a-01 cert]# openssl req -new -key https.key -out https.csr
Enter pass phrase for https.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.

Country Name (2 letter code) [XX]:rancher
string is too long, it needs to be less than 2 bytes long
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BJ
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server’s hostname) []:
Email Address []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:rancher
An optional company name []:
#4、在加载SSL支持的Nginx并使用上述私钥时除去必须的口令
$ cp https.key https.key.org
$ openssl rsa -in https.key.org -out https.key

输入 rancher

[root@ocean-app-1a-01 cert]# openssl rsa -in https.key.org -out https.key

输入 rancher

Enter pass phrase for https.key.org:
writing RSA key

#5、最后标记证书使用上述私钥和CSR和有效期
openssl x509 -req -days 365 -in https.csr -signkey https.key -out https.crt
[root@ocean-app-1a-01 cert]# openssl x509 -req -days 365 -in https.csr -signkey https.key -out https.crt
Signature ok
subject=/C=CN/ST=BJ/L=beijing/O=Default Company Ltd
Getting Private key
#6、nginx添加配置如下:

示例

server {
listen 443 ssl; #监听443端口
server_name linking-rancher.di.bigdata;
ssl_certificate /etc/nginx/conf.d/cert/https.crt;
ssl_certificate_key /etc/nginx/conf.d/cert/https.key;
ssl_session_timeout 5m;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
proxy_redirect off;
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 Accept-Encoding ‘gzip’;

    ##配置使wss协议生效proxy_http_version 1.1;    proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";client_max_body_size 2G;proxy_pass https://rancher;
}
#error_page  404              /404.html;
# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {root   /usr/share/nginx/html;
}

}

实际配置

server {
listen 443 ssl;
server_name linking-rancher.di.bigdata;
ssl_certificate /etc/nginx/conf.d/cert/https.crt;
ssl_certificate_key /etc/nginx/conf.d/cert/https.key;
ssl_session_timeout 5m;
location / {
proxy_pass https://rancher;
proxy_redirect off;
##配置使wss协议生效
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;

    #下面的参数取决环境需要#后端的Web服务器可以通过X-Forwarded-For获取用户真实IPproxy_set_header           Host $host;proxy_set_header           X-Real-IP $remote_addr;proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size       2G; #允许客户端请求的最大单文件字节数client_body_buffer_size    512k; #缓冲区代理缓冲用户端请求的最大字节数proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置proxy_busy_buffers_size    64k; #高负荷下缓冲大小(proxy_buffers*2)proxy_temp_file_write_size 64k; #设定缓存文件夹大小fastcgi_buffer_size 128k;fastcgi_buffers 8 128k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;
}   
location = /50x.html {root   /usr/share/nginx/html;
}

}

8443 是自动部署rancher 暴露的端口 https协议

upstream rancher{
server 10.0.0.24:8443;
server 10.0.0.24:8080;
}


http://www.ppmy.cn/news/1521668.html

相关文章

JAVA集合的扩容机制

ArrayList List<Integer> list new ArrayList<>(); 不指定初始长度&#xff0c;默认刚开始赋值{}空集合&#xff0c;当 add 时&#xff0c;初始长度为 10。 // 初始容量 private static final int DEFAULT_CAPACITY 10; // 空数组 private static final Objec…

Python 全栈系列266 Kafka服务的Docker搭建

说明 在大量数据处理任务下的缓存与分发 这个算是来自顾同学的助攻1&#xff0c;我有点java绝缘体的体质&#xff0c;碰到和java相关的安装部署总会碰到点奇怪的问题&#xff0c;不过现在已经搞定了。测试也接近了kafka官方标称的性能。考虑到网络、消息的大小等因素&#xff0…

IOS17.0安装巨魔:TrollRestore巨魔发布

&#x1f47b; TrollRestore 17.0 巨魔发布 15.0 - 16.7 RC&#xff08;20H18&#xff09;和17.0。 官网&#xff1a;https://trollrestore.com/ 下载&#xff1a;https://pan.metanetdisk.com/IOS/%E5%B7%A8%E9%AD%94%E7%8E%A9%E5%AE%B6/TrollRestore.com 使用&#xff1a;ht…

点在面内(考虑内环外环)------射线算法

射线算法计算点是否在面内 , 考虑内环和外环的情况 // 判断点是否在线段上 bool on_segment(const studio_point& point, const studio_point& l_beg, const studio_point& l_end) {return std::min(l_beg.lgtd, l_end.lgtd) < point.lgtd && point.lg…

计算机网络 第二章: 物理层概述

文章目录 物理层要实现的功能物理层接口特性机械特性电气特性功能特性过程特性 物理层下面的传输媒体传输媒体的分类 传输方式习题答案 物理层要实现的功能 物理层要实现的功能是在各种传输媒体上, 传输0和1吗进而给其上面的数据链路层提供透明传输比特流的服务. (透明传输比特…

硬件工程师笔试面试知识器件篇——二极管

目录 4、二极管 4.1、基础 二极管原理图 二极管实物图 4.1.1、基本特性 4.1.2、常见类型 4.1.3、工作原理 4.1.4、应用领域 4.2、相关问题 4.2.1、二极管的PN结是如何形成的? 4.2.2、发光二极管(LED)的工作原理是什么? 4.2.3、在电子电路中,二极管通常如何应用?…

MySQL Workbench 的入门指南

前言 MySQL Workbench 是一个官方的图形化工具&#xff0c;用于开发、管理和设计 MySQL 数据库服务器。它提供了丰富的功能&#xff0c;可以帮助数据库管理员、开发者以及DBA们高效地工作。下面是一个MySQL Workbench的入门指南&#xff0c;介绍如何安装和使用它。 安装 MyS…

虚拟机苹果系统MacOS中XCode的安装

1、背景介绍 主机系统Win11&#xff0c;虚拟机VMWare17&#xff0c;苹果系统MacOS 13.6.7 2、Xcode的在线 点击应用市场&#xff0c;输入Xcode搜索&#xff1a; 看来Xcode无法安装在macOS V13上&#xff0c;直接在线安装失败。 3、采用下载安装包的方法进行安装 解决办法参考链…

ChatTTS文本转语音本地Windows环境部署与远程生成AI音频实战流程

文章目录 前言1. 下载运行ChatTTS模型2. 安装Cpolar工具3. 实现公网访问4. 配置ChatTTS固定公网地址 前言 本篇文章主要介绍如何快速地在Windows系统电脑中本地部署ChatTTS开源文本转语音项目&#xff0c;并且我们还可以结合Cpolar内网穿透工具创建公网地址&#xff0c;随时随…

2024国赛数学建模C题论文:基于优化模型的农作物的种植策略

大家可以查看一下35页&#xff0c;包含结构完整&#xff0c;数据完整的C题论文&#xff0c;完整论文见文末名片 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 添加图片注释&#xf…

Java并发编程实战 04 | 使用WaitNotify时要注意什么?

在 Java 中&#xff0c;wait()、notify() 和 notifyAll() 方法在多线程编程中主要用于线程间的协作和同步。理解这些方法的使用特点对于编写稳定的多线程程序至关重要。我们将从以下三个问题入手深入探讨它们的使用&#xff1a; 为什么必须在 synchronized 代码块中使用 wait(…

LINUX-ubuntu20.04下安装GUI-Guider出现的依赖问题解决办法

个人安装遇见的问题&#xff0c;并且已解决&#xff0c;仅供参考&#xff01;&#xff01;&#xff01; 采用下载好gui-guider的安装包&#xff0c;然后离线安装的方式&#xff1b; 目录 问题&#xff1a; 一般方法 解决办法 问题&#xff1a; 发现出现下面的配置依赖问题…

算法训练营|图论第11天 Floyd算法 A*算法

题目&#xff1a;Floyd算法 题目链接&#xff1a; 97. 小明逛公园 (kamacoder.com) 代码&#xff1a; #include<bits/stdc.h> using namespace std; struct Edge {int to;int val;Edge(int t, int w) :to(t), val(w) {} }; int main() {int n, m;cin >> n >…

Java 快速求解x的x次幂结果为10

1.问题描述 如果x的x次幂结果为10&#xff08;如图所示&#xff09;&#xff0c;你能计算出x的近似值吗&#xff1f; 显然&#xff0c;这个值是介于2和3之间的一个数字。 可以使用牛顿迭代公式进行求解&#xff0c;因为是逼近算法可以大大减少运算次数 public static void mai…

【Leetcode 2367 】 等差三元组的数目 —— 哈希表与三指针

给你一个下标从 0 开始、严格递增 的整数数组 nums 和一个正整数 diff 。如果满足下述全部条件&#xff0c;则三元组 (i, j, k) 就是一个 等差三元组 &#xff1a; i < j < k &#xff0c;nums[j] - nums[i] diff 且nums[k] - nums[j] diff 返回不同 等差三元组 的数…

Flask中的g的作用

Flask中的g对象是一个非常重要的概念&#xff0c;它在Flask应用程序的上下文中扮演着关键角色。下面我将详细阐述g对象的作用&#xff0c;但由于篇幅限制&#xff0c;无法达到5000字&#xff0c;但会尽量全面而精炼地介绍其关键特性和用途。 Flask中的g是什么&#xff1f; 在…

PHP一站式解决方案高级房产系统小程序源码

一站式解决方案&#xff0c;高级房产系统让房产管理更轻松 &#x1f3e0;【开篇&#xff1a;告别繁琐&#xff0c;迎接高效房产管理新时代】&#x1f3e0; 你是否还在为房产管理的繁琐流程而头疼&#xff1f;从房源录入、客户咨询到合同签订、售后服务&#xff0c;每一个环节…

自然语言处理系列五十》文本分类算法》SVM支持向量机算法原理

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列五十SVM支持向量机》算法原理SVM支持向量机》代…

Spring Boot 整合 Sentinel 实现流量控制

在微服务架构中&#xff0c;流量控制是保障系统稳定性和高可用性的关键技术之一。阿里巴巴开源的 Sentinel 是一款面向分布式系统的流量防护组件&#xff0c;旨在从流量控制、熔断降级、系统负载保护等多个维度保障服务的稳定性。本文将详细介绍如何在 Spring Boot 项目中整合 …

预训练语言模型的前世今生 - 从Word Embedding到BERT

目录 一、预训练 1.1 图像领域的预训练1.2 预训练的思想二、语言模型 2.1 统计语言模型2.2 神经网络语言模型三、词向量 3.1 独热&#xff08;Onehot&#xff09;编码3.2 Word Embedding四、Word2Vec 模型五、自然语言处理的预训练模型六、RNN 和 LSTM 6.1 RNN6.2 RNN 的梯度消…