Windows技术栈企业基础底座(1)-为基于Windows的Nginx安装证书

news2024/11/18 9:34:25

企业的基础环境是一个组织的信息化数字化底座。传统企业基础环境多种系统,应用交杂,多种技术栈使得深入运维成本极大,且人员知识技能较难复用,造成资源浪费。本系列旨在尝试推动这一理念, 建立Windows, 或linux聚焦的技术栈的企业数字环境, 统一技术栈, 简化技术选型提高知识密度与资源复用率, 同时支持中小企业的技术快速落地和大型企业的大规模高并发以及精细化。为广大技术决策提供参考。

本篇是本系列文章第一篇讲Windows下Nginx配置.  Nginx是linux里常用服务.  随着Windows拥抱Linux以及WSL(Windows)的普及, 也有些场景是需要异构环境。网上讨论Windows下Nginx使用的信息很少, 笔者将这些信息整理方便需要的读者参考. 

注: Nginx在Windows系统下的版本‌主要提供了基本的HTTP服务器和反向代理功能,尽管它处于beta阶段,并且与Unix版本相比缺少了一些功能,如XSLT过滤器、图像过滤器、GeoIP模块和嵌入Perl语言支持。然而,对于大多数基本的Web服务和反向代理需求,Windows版的Nginx能够满足

环境介绍:  

企业Windows客户端通过Nginx通过HTTPS访问内部网页应用.  客户端是Windows 10, 使用Windows CA作为内部PKA, 用Windows版Nginx. 本文主要讲Nginx安装配置部分:

1. 在Windows安装Nginx: 

从官方网站下载Nginx Windows版本进行安装. : 

nginx: download

可以选择最新版本, 下载后解压就可以. 

2. 安装Windows CA, 并生成带有私钥的证书用于web应用:

采用Windows 2016作为内部CA证书服务器. 证书服务器的配置安装我们将在其他文章里详细展开.  这里假设你已经生成了1.pfx的证书文件. 

3. 在安装Nginx的Windows服务器安装Openssl:

Nginx默认不支持pfx/cer格式证书. 需要将pfx转key, crt和pem进行配置使用

下载openssl Windows安装文件:

Win64 OpenSSL v3.3.2 Light : 

安装后选择将openssl.exe 复制到 bin文件夹。

同时把第二步生成的1.pfx 复制到 openssl的 bin文件夹下,方便后续操作. 

4. 进Openssl转证书:

a. 以管理员身份运行cmd.exe,  进入到openssl.exe和证书所在目录 bin

b. 运行一下命令开始转证书: 

根据pfx生成key文件

openssl pkcs12 -in 1.pfx -out server.key -nocerts

根据提示输入三次口令  -- 这里第一次为pfx文件密码, 2/3为pem密码

根据pfx生成crt证书文件

openssl pkcs12 -in 1.pfx -out server.crt

根据提示输入三次口令  -- 这里第一次为pfx文件密码, 2/3为pem密码

生成pem文件

openssl x509 -in server.crt -outform PEM -out server.pem

这里防止nginx每次启动都需要输入pem密码, 多做一步:

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

注意: server.key.unsecure 使得私钥没有密码保护.

4. 配置Nginx 使用生成的证书: 

进到Nginx安装目录的conf文件夹, 按如下编辑nginx.conf文件. 将servername, proxy_pass 地址改为实际值. 

如果nginx到后端无需SSL, 可以配置proxy_pass 为http

这里建议将nginx所需要的证书复制到conf文件夹, 简化配置证书路径. nginx是linux环境下构建的应用, 其路径表达和Windows 不同。

# HTTPS server    # 将servername修改为自己的域名server {listen       443 ssl;        server_name  servername;        ssl_certificate      "c:\Nginx\conf\server.pem";        ssl_certificate_key  "c:\Nginx\conf\server.key.unsecure";ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {            proxy_pass http://ipaddress:port;        }    }

5.  启动Nginx, 检测 https连接是否成功. 

这里需要注意的是, 内部WindowsCA的 根证书,需要出现在客户端机器的受信任证书颁发机构, 不然服务器证书也将不被信任从而浏览器访问会出现证书错误. 

Image

正常情况下, https访问就会成功.  如果之前nginx.conf的证书路径配置错误, 则nginx无法加载, 会报无法找到证书文件的错误.  

关注生产力联盟, 提高个人和组织的新质生产力.  欢迎关注交流. 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

部署自己的对话大模型,使用Ollama + Qwen2 +FastGPT 实现

部署资源 AUTODL 使用最小3080 资源,cuda > 12.0使用云服务器,部署fastGPT oneAPI,M3E 模型 操作步骤 配置代理 export HF_ENDPOINThttps://hf-mirror.com下载qwen2模型 huggingface-cli download Qwen/Qwen2-7B-Instruct-GGUF qwen2-7…

Flutter能赚钱,你还担心它被Google抛弃吗?

哈喽,我是老刘 Flutter自从诞生以来有很多的质疑和担心。 其中Flutter会不会被Google放弃是大家最重要的一个担心。 尤其是前段时间Flutter团队裁员后这种担心达到了顶点。 但是由LeanCode主导的一次针对Flutter的技术调查报告,应该能很大程度上解答这个…

为什么要分库分表

目录 为什么分库分表业务驱动分库分表优缺点优点缺点 如何分库分表分库分表原则分库多少合适分表多少合适分库分表字段选择逻辑 库或表不够怎么办数据归档 为什么分库分表 业务驱动 业务:增长快,业务复杂度高。系统流量疯狂增长,部分大表数…

[linux 驱动]i2c总线设备驱动详解与实战

目录 1 描述 2 结构体 2.1 bus_type 2.2 i2c_bus_type 2.2.1 i2c_device_match 2.2.2 i2c_device_probe 2.2.3 i2c_device_remove 2.2.4 i2c_device_shutdown 2.2 i2c_adapter 2.3 i2c_algorithm 2.4 i2c_driver 2.5 i2c_client 3 i2c核心 3.1 注册i2c适配器 3.2…

windows电脑怎么录屏?电脑录屏全攻略,轻松捕捉精彩瞬间

在数字化时代,屏幕录制已成为我们日常生活和工作中不可或缺的一部分。无论是记录游戏的高光时刻、制作教学视频,还是保存重要的在线会议内容,Windows电脑都为我们提供了多种高效便捷的录屏方式,如果你还不知道怎么录屏&#xff0c…

什么是领域驱动设计?

什么是领域驱动设计? 领域驱动设计(Domain-Driven Design,简称DDD)是一种面向对象的软件开发方法,它强调将软件系统的设计和实现过程与业务领域紧密结合,通过深入理解和建模业务领域,从而实现高…

抓包工具检测手把手教学 - 某招聘网站

大家好,我是南枫~~~ 先问大家一个问题,你们有没有遇到过想爬一个网站,想用老方法,直接右键打开抓包工具,此时,突然!整个页面都变得空白,什么数据都没有了的情况…… 如果你没遇到过…

探索MySQL视图的无限可能:优化查询、增强数据安全与简化数据访问

作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言&#…

OpenAI发布o1预览模型:推理能力更强可达理科博士生水准

近日OpenAI宣布推出了新一代 AI 模型系列 OpenAI o1,按照官方技术博客说法,o1 在推理能力上代表了人工智能最强的水平。 那究竟是怎么一回事呢? OpenAI CEO Sam Altman 表示:o1 系列的推出代表了 AI 能力的新起点,能…

用Python设置PDF中图片的透明度

在PDF文档的设计与内容创作过程中,图像的透明度设置是一个重要的操作。尤其是在处理图文密集型PDF文档时,设置适当的图片透明度能够极大地提升视觉表达的层次感与专业性。设置PDF图像的透明度能够让图像更好地融入背景,实现平滑过渡的效果&am…

PAT甲级-1028 List Sorting

题目 题目大意 输入给出学生数目和C值,以及每个学生的信息。要求按照C值对学生信息作出不同的排序,如果C为1,就将学号升序排列;如果C为2,将学生姓名非递减排序;如果C为3,将学生分数非递减排序。…

SldWorks问题1: 在装配体中获取零件的面

问题 我为零件的某个面进行了命名,以此查找,进行配合。 在使用先前写好的查找方法时,有时会出现找不到的情况。 然后捣鼓了半天,发现: 只有当“零件文档显示的配置,和已放置的零件配置一致”时&#xff…

《C++PrimerPlus》第10章:类和对象

文章目录 文章介绍目录重点知识10.2 抽象和类10.3 类的构造函数和析构函数10.4 this指针10.5 对象数组10.6 类作用域 文章介绍 目录 重点知识 10.2 抽象和类 类开发人员:设计类 类调用人员:使用类 10.3 类的构造函数和析构函数 10.4 this指针 10.5 对…

微服务杂谈

几个概念 还是第一次听说Spring Cloud Alibaba ,真是孤陋寡闻了,以前只知道 SpringCloud 是为了搭建微服务的,spring boot 则是快速创建一个项目,也可以是一个微服务 。那么SpringCloud 和 Spring boot 有什么区别呢?S…

dirty pages , swapiness 查看SWAP占用进程

文章说了这么多的意思 就是不要过度分配不用的内存。虽然脏块不会写入swap,但是占了物理内存,浪费空间,可能导致进行了很多不必要的交换(虽然判断很少要进swap,判断要不要也要时间。。。)。 To verify whic…

(机器学习必看视频)机器学习-吴恩达笔记汇总

最近将吴恩达老师在网易课程上的机器学习视频看了第二遍,同时整理了一下笔记,仅供学习实用,也放到了Github。主要是参考了下面几位大佬的书籍和作品,表示感谢! 李航《统计学习方法》周志华 《机器学习》黄海广博士 ima…

NAS黑群晖7.21折腾笔记

黑群晖引导制作 https://post.smzdm.com/p/a96d62xe/ 黑群晖基本使用教程 https://www.bilibili.com/video/BV1A3411f7WK/?spm_id_from333.337.search-card.all.click 重点: 1,存储管理器 --创建存储池 RAID类型选择: 2&#xff0c…

【2024.08】图模互补:知识图谱与大模型融合综述-笔记

阅读目的:假设已有一个知识图谱,如何利用图谱增强模型的问答,如何检索知识图谱、知识图谱与模型的文本如何相互交互、如何利用知识图谱增强模型回答的可解释性。 从综述中抽取感兴趣的论文进一步阅读。 来源:图模互补&#xff1…

天下苦英伟达久矣!PyTorch官方免CUDA加速推理,Triton时代要来?

在做大语言模型(LLM)的训练、微调和推理时,使用英伟达的 GPU 和 CUDA 是常见的做法。在更大的机器学习编程与计算范畴,同样严重依赖 CUDA,使用它加速的机器学习模型可以实现更大的性能提升。 虽然 CUDA 在加速计算领域占据主导地位,并成为英伟达重要的护城河之一。但其他…

AV1 Bitstream Decoding Process Specification--[4]:语法结构

原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf没有梯子的下载地址:AV1 Bitstream & Decoding Process Specification摘要:这份文档定义了开放媒体联盟(Alliance for Open Media)AV1视频编解码器…