Windos环境下配置免费SSL证书详细步骤

devtools/2024/9/22 21:25:09/

获取免费证书

  • 配置本机模拟域名
    打开如下目录,hosts文件
C:\Windows\System32\drivers\etc 

在这里插入图片描述

添加如下配置并保存

127.0.0.1    im.test.com

在这里插入图片描述

  • 下载安装 OpenSSL
    下载链接
    在这里插入图片描述

  • 进入bin目录, 打开cmd窗口
    在这里插入图片描述

  • 执行如下命令,生成RSA私钥

 ## 使用des3算法,1024位强度, 生成秘钥文件,名为server.key
openssl genrsa -des3 -out server.key 1024

在这里插入图片描述

  • 生成CSR(证书签名请求)
openssl req -new -key server.key -out server.csr

执行后会出现如下界面
在这里插入图片描述

注意:此处的Common Name项必须和上文中配置的模拟域名保持一致

  • 删除私钥中的密码
openssl rsa -in server.key -out server.key
  • 生成自签名证书,有效期365天
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

在这里插入图片描述

  • 此时在 OpenSSL的安装目录下就会出现如下3个文件
    在这里插入图片描述

  • 将证书部署到nginx
    在nginx 的conf目录下创建文件夹cert,将刚才创建的3个证书文件复制到该目录下
    在这里插入图片描述

  • 查看本机IPV4地址

ipconfig

在这里插入图片描述

  • 修改nginx.conf
    server {listen       8090; # 监听8090端口server_name  192.168.137.1; # 本机Ipv4地址,只要是同一局域网都可以访问ssl on;#配置证书的路径ssl_certificate      cert/server.crt;ssl_certificate_key  cert/server.key;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;# 普通的https请求location / {#配置转发到本机真正服务端口8089proxy_pass http://192.168.137.1:8089;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Port $server_port;}# WebSocket 请求location /webSocket/ {proxy_pass http://192.168.137.1:8089;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}}
  • 进入nginx安装目录

刷新配置文件

nginx -s reload 

关闭nginx

nginx -s stop

启动nginx

nginx
  • 配置完毕
    此时只需要让nginx转发到需要使用SSL证书的服务上即可,访问时,使用nginx监听的192.168.137.1:8090地址进行访问,nginx则会自动加载cert目录下的证书文件

http://www.ppmy.cn/devtools/22365.html

相关文章

gitee关联picgo设置自己的typora_图床

一:去gitee官网创建仓库:typora_图床 1.百度搜索关键字:gitee,进入官网 2.进入gitee登录或者注册自己的账号 3.进入主页后,点击右上方 4.点击新建仓库 5.设置仓库名:typora_图床 6.点击5的创建&#xff0…

【Linux】信号的保存及处理

目录 一. 信号的保存1. sigset_t 信号集2. 信号集操作函数sigprocmask()sigpending() 二. 信号的处理1. 用户态和内核态2. 信号处理的过程3. 虚拟地址空间的内核空间4. sigaction 可重入函数volatileSIGCHLD 一. 信号的保存 信号概念的补充, 信号的四种状态: 信号产生(Produce…

recat如何循环?

第一点 声明 声明第一个值 当前值 后面的是方法 需要set开头 声明前要导入import React, { useState } from react; 声明格式 : const 【inp,setinpt】 usestate() setinp(res.data.data) 使用去赋值 循环代码 这是一个…

数据库基础:理解与应用索引与视图

文章目录 前言 索引视图 前言 数据库管理涉及索引、视图。本基础篇不涵盖索引和视图的高级应用和核心概念。 索引 MySQL索引是提高查询性能的数据结构,类似于书籍目录,帮助数据库快速找到数据行,避免全表扫描。索引可应用于单列或多列&a…

Docker镜像和容器操作

目录 一.Docker镜像创建与操作 1. 搜索镜像 2. 获取镜像 3. 镜像加速下载 4. 查看镜像信息 5. 查看下载的镜像文件信息 ​编辑6. 查看下载到本地的所有镜像 7. 根据镜像的唯一标识ID号,获取镜像详细信息 8. 为本地的镜像添加新的标签 9. 删除镜像 10. 存入…

17.Nacos与Eureka区别

Nacos会将服务的提供者分为临时实例和非临时实例。默认为临时实例。 临时实例跟eureka一样,会向注册中心报告心跳监测自己是否还活着。如果不正常了nacos会剔除临时实例。(捡来的孩子) 非临时实例,nacos会主动询问服务提供者是否…

CMUS狮身人面像(三)-建立一个语音词典

建立一个语音词典​​​​​​ 介绍 语音词典为系统提供了词汇到音素序列的映射。它可能看起来像这样: hello H EH L OW world W ER L D 字典还可以包含替代发音。在这种情况下,您可以用括号中的数字来指定它们: the TH IH the(2) TH AH The…

Kotlin作用域函数引发的遮蔽问题

前面讲了kotlin的it变量引起的遮蔽问题,见Kotlin it隐式变量的遮蔽问题,本篇聊聊作用域函数(scoped function)可能引起的遮蔽问题。 先来看一个简单的示例: fun test(): String {val s: String "asdf".al…