分分钟搭建出nginx的https服务

news2025/1/12 10:10:30

nginx添加https协议

  • 一、https是什么?
  • 二、创建步骤
    • 1.安装nginx
    • 2.创建证书
  • 三、验证
  • 四、浏览器访问
      • 在windows安装证书
  • 总结

nginx     192.168.122.50

一、https是什么?

HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。

HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。

SSL(Secure Socket Layer)安全套接层是Netscape公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。

二、创建步骤

1.安装nginx

mkdir /opt/download

上传openresty-1.21.4.1.tar.gz到/opt/download目录

yum -y install pcre pcre-devel openssl openssl-devel zlib zlib-devel  libpcre3-dev libssl-dev perl make build-essential curl libreadline-dev libncurses5-dev
tar -xf openresty-1.21.4.1.tar.gz 
cd  openresty-1.21.4.1
./configure --prefix=/opt/openresty && gmake && gmake install
ln -s /opt/openresty/nginx /opt/nginx
/bin/cp -r /opt/download/nginx.conf /opt/nginx/conf
mkdir /opt/nginx/conf/conf.d
echo "export PATH=\$PATH:/opt/nginx/sbin" >> ~/.bash_profile
source ~/.bash_profile

2.创建证书

sed -i "s/countryName		= match/countryName		= optional/g" /etc/pki/tls/openssl.cnf
sed -i "s/stateOrProvinceName	= match/stateOrProvinceName	= optional/g" /etc/pki/tls/openssl.cnf
sed -i "s/organizationName	= match/organizationName	= optional/g" /etc/pki/tls/openssl.cnf
sed -i "s/organizationalUnitName	= optional/organizationalUnitName	= optional/g" /etc/pki/tls/openssl.cnf
sed -i "s/commonName		= supplied/commonName		= supplied/g" /etc/pki/tls/openssl.cnf
sed -i "s/emailAddress		= optional/emailAddress		= optional/g" /etc/pki/tls/openssl.cnf
mkdir /opt/.ssl && cd /opt/.ssl
openssl genrsa -out cakey.pem 4096

在这里插入图片描述

openssl req -new -x509 -key cakey.pem -out cacert.pem -days 3655

以下内容为必填项
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BJ
Locality Name (eg, city) [Default City]:BJ
Common Name (eg, your name or your server’s hostname) []:192.168.122.50

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]:CN
State or Province Name (full name) []:BJ
Locality Name (eg, city) [Default City]:BJ
Organization Name (eg, company) [Default Company Ltd]:BJ
Organizational Unit Name (eg, section) []:BJ
Common Name (eg, your name or your server's hostname) []:192.168.122.50
Email Address []:ABC@qq.com

在这里插入图片描述


生成私钥
openssl genrsa -out https.key 2048

openssl req -new -key https.key -out https.csr -days 365

在这里插入图片描述
在CA主机上签发证书

touch /etc/pki/CA/index.txt
cp cakey.pem /etc/pki/CA/private/cakey.pem
cp cacert.pem /etc/pki/CA/cacert.pem
mkdir -p /etc/pki/CA/newcerts
touch  /etc/pki/CA/index.txt
touch /etc/pki/CA/serial
echo  '01'>/etc/pki/CA/serial

在这里插入图片描述

openssl ca -in https.csr -out https.crt -days 365

在这里插入图片描述

ll /opt/.ssl

在这里插入图片描述

cat << EOF >> /opt/nginx/conf/conf.d/ssl.conf
server{
    listen 443 ssl;
    ssl_certificate /opt/.ssl/https.crt;
    ssl_certificate_key  /opt/.ssl/https.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
    ssl_prefer_server_ciphers on;
location / {
        root /opt/html;
        index index.html index.htm;
    }
}
EOF
nginx -t

在这里插入图片描述

三、验证

nginx
netstat -tlnup|grep 443

在这里插入图片描述

mkdir /opt/html && cd  /opt/html
echo "holle word" > /opt/html/index.html
nginx -s reload

在这里插入图片描述
打开谷歌浏览器访问

https://192.168.122.50

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

wget https://192.168.122.50/index.html

在这里插入图片描述

wget https://192.168.122.50/index.html --no-check-certificate

在这里插入图片描述

四、浏览器访问

打开IE浏览器访问

https://192.168.122.50

在这里插入图片描述
查看/opt/.ssl目录

ll /opt/.ssl

导出cacert.pem证书
sz cacert.pem

在这里插入图片描述

在windows安装证书

将cacert.pem 改为cacert.crt

在这里插入图片描述

双击cacert.crt

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

清空IE浏览器缓存 重新打开

https://192.168.122.50

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

总结

创建证书

openssl genrsa -out cakey.pem 4096
openssl req -new -x509 -key cakey.pem -out cacert.pem -days 3655
openssl genrsa -out https.key 2048
openssl req -new -key https.key -out https.csr -days 365
openssl ca -in https.csr -out https.crt -days 365
[root@localhost .ssl]# ll
总用量 24
-rw-r--r--. 1 root root 2049 12  9 12:16 cacert.pem
-rw-r--r--. 1 root root 3243 12  9 11:45 cakey.pem
-rw-r--r--. 1 root root 5776 12  9 13:13 https.crt
-rw-r--r--. 1 root root 1078 12  9 13:05 https.csr
-rw-r--r--. 1 root root 1679 12  9 13:04 https.key

https中使用ssl证书

ssl_certificate /opt/.ssl/https.crt;
ssl_certificate_key  /opt/.ssl/https.key;

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

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

相关文章

分布式文件存储系统Minio,tuling,fox,p3 5:27

MinIO | 高性能&#xff0c;对Kubernetes友好的对象存储 一 分布式文件系统应用场景 fastDFS 缺点&#xff1a; 部署麻烦。因为文件名是自动生成的&#xff0c;所以如果要处理文件的话&#xff0c;还要经过额外的编码。Minio介绍 应用场景 互联网海量非结构化数据的存储需求…

Spring常见注解

普通CURD框架结构 1、controller 控制器&#xff08;注入服务&#xff09;用于标注控制层&#xff0c;相当于struts中的action层 2、service 服务&#xff08;注入dao&#xff09;用于标注服务层&#xff0c;主要用来进行业务的逻辑处理 3、repository/Mapper&#xff08;实…

25.前端笔记-CSS-溢出的文字省略号展示

1、单行文本溢出显示省略号 满足条件&#xff1a; &#xff08;1&#xff09;先强制一行内显示文本 white-space:nowrap;/*默认不写&#xff0c;或值是normal自动换行*/) &#xff08;2&#xff09;超出的部分隐藏 overflow:hidden; &#xff08;3&#xff09;文字用省略号代…

ESPnet-SE 开源工具介绍

下面是我们整理的钱彦旻教授、张王优、李晨达在第二届SH语音技术研讨会和第七届Kaldi技术交流会的报告内容&#xff0c;如果有误&#xff0c;欢迎指正。 基本情况 今天我们主要是围绕ESPnet-SE这个工具做一个简单的介绍&#xff0c;我会大概讲一下ESPnet-SE的情况&#xff0c;…

一文了解宏内核和微内核

【推荐阅读】 纯干货&#xff0c;linux内存管理——内存管理架构&#xff08;建议收藏&#xff09; 轻松学会linux下查看内存频率,内核函数,cpu频率 一文了解Linux内核的Oops 一篇长文叙述Linux内核虚拟地址空间的基本概括 需要多久才能看完linux内核源码&#xff1f; 内核是操…

微信小程序第五篇:页面弹出效果及共享元素动画

系列文章传送门&#xff1a; 微信小程序第一篇&#xff1a;自定义组件详解 微信小程序第二篇&#xff1a;七种主流通信方法详解 微信小程序第三篇&#xff1a;获取页面节点信息 微信小程序第四篇&#xff1a;生成图片并保存到手机相册 目录 一、page-caontainer 实现假页弹出 …

LDP协议介绍

LDP介绍 1.LDP协议概述 LDP&#xff08;Label Distribution Protocol&#xff09;规定了标签分发过程中的各种消息以及相关的处理过程。LSR之间将依据本地转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息联系在一起&#xff0c;从而形成标签交换路径LSP。 2.L…

【Python恶搞】Python实现祝福单身狗的恶搞项目,快发给你的怨种大兄弟 | 附源码

前言 halo&#xff0c;包子们上午好 咱就说&#xff0c;谁还没有一个单身的小伙伴呢 今天这个代码主要是为了祝福咱们单身的小伙伴 咱就说废话不多说&#xff0c;直接上才艺 相关文件 关注小编&#xff0c;私信小编领取哟&#xff01; 当然别忘了一件三连哟~~ 公众号&#x…

Kali Linux 又更新了!202.4新版本有哪些变化?

Kali Linux在今年最后一个月迎来了新版本&#xff0c;即2022.4&#xff0c;上次更新是在8月份&#xff0c;时隔4个月&#xff0c;Kali linux 又有哪些新变化呢&#xff1f; 更新内容&#xff1a; Microsoft Azure - Kali 已添加到 Microsoft Azure&#xff0c;但目前没有图形…

阿里云效 ssh公钥配置

准备工作 通过 SSH 协议在 Git 命令行访问 Codeup&#xff0c;需要具备以下几点&#xff1a; 本机已安装Git&#xff08;安装教程参见安装Git&#xff09;并保证版本大于1.9&#xff08;通过git --version可获取本地的版本&#xff09;&#xff1b; 本机需要安装OpenSSH客户端…

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测 目录 智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测分类效果基本介绍模型参数程序设计参考资料分类效果 基本介绍 Bee-CNN蜜蜂算法优化卷积神经网络是一种模糊进化深度学习(优化权重和…

银行测试的优势在哪里?

为什么做金融类软件测试举个栗子&#xff0c;银行里的软件测试工程师。横向跟互联网公司里的测试来说&#xff0c;薪资相对稳定&#xff0c;加班少甚至基本没有&#xff0c;业务稳定。实在是测试类岗位中的香饽饽&#xff01;一、什么是金融行业金融业是指经营金融商品的特殊行…

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 液晶面板双通道电荷泵电源IC AAT1118

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 TFT LCD液晶面板双通道电荷泵电源IC AAT1118 概述 AAT1118集成了一个升压调节器&#xff0c;两个调节电荷泵&#xff0c;一个关闭功能&#xff0c;和一个开漏电源良好的输出&#xff0c;使其成为TFT液晶面板供电的…

逆行而上 光照前方 | 记“齐鲁之战”11月第一单签约者—郭群策

白玉兰品牌于2018年正式启航&#xff0c;白玉兰也与上海市花同名&#xff0c;作为国内四大名花之一&#xff0c;更具有品牌的标识性。品牌发展至今四年&#xff0c;三年是疫情期&#xff0c;但白玉兰酒店仍然成为目前锦江酒店&#xff08;中国区&#xff09;体系内发展最快的品…

Linux系统中裸机定时器的基本原理

大家好&#xff0c;今天的话主要和大家聊一聊&#xff0c;如何使用定时器&#xff0c;完成精准的定时功能实现​。 目录 第一​&#xff1a;EPIT定时器基本简介 ​第二&#xff1a;EPIT的基本配置 ​第三&#xff1a;代码的具体实现 第一​&#xff1a;EPIT定时器基本简介 ​…

【UE4】引擎配置文件原理学习笔记

刚好遇到一个ini加载的优化。趁此机会记录学习一下UE引擎的config文件层级结构和读取流程 文章目录两个问题层级结构文件读取流程初始化流程文件读取流程文件的写入配置文件内容和GConfig结构两个问题 在看项目目录结构的时候&#xff0c;有没有这样的疑问&#xff1a; 为什么…

喜报!泛睿云国家版权局颁发的软件著作权证书

近日,泛睿云自主研发的泛睿云计算服务平台V1.0,通过中国人民共和国国家版权局权威授权,获得了计算机软件著作权登记证书,这是对泛睿云实力和研发水平的充分肯定。 软件著作权是企业核心自主知识产权,是企业的“无形资产”,是企业科技的生命力和价值所在,国家权威部门的认证将使…

微信群裂变文案微信群裂变软件

看过前几篇文章的&#xff0c;想必多多少少都清楚微信群裂变以及朋友圈裂变能够带来的巨大能量&#xff1a;低成本获客&#xff0c;高质量传播。那今天就来分享微信群以及微信朋友圈裂变话术&#xff0c;满满都是干货&#xff0c;新手一定要看仔细咯。今天的内容主要讲的有三点…

亲测有效!咳嗽3秒检测新冠的小·程·序;开源啦!超全的AI创作工具网站;谷歌乳腺癌AI筛查进入临床实践;根据文字生成音乐 | ShowMeAI资讯日报

&#x1f440;日报合辑 | &#x1f3a1;AI应用与工具大全 | &#x1f514;公众号资料下载 | &#x1f369;韩信子 &#x1f4e2; 『Thinkit声音识别』亲测有效&#xff01;新冠病毒咳嗽声检测小程序 一款名为“Thinkit声音识别”的微信小程序&#xff0c;实现通过声音识别新冠…