网站配置https

news/2024/5/8 16:51:10/文章来源:https://blog.csdn.net/xuzhijia1991/article/details/112544903

https证书有四种,这里我们只介绍最简单并且免费的,域名证书。

写这篇文章的原因很简单,上一篇文末我说要使用WebRTC进行屏幕录制或者是远程桌面分享,必须要使用https,可能有很多人还不太会配置https,今天就来介绍一下。

这里会介绍两种服务器的https配置,一种nginx,一种node。nginx的安装和配置不了解的同学可以参考我之前写的nginx文章,还是比较通俗易懂的。

首先需要准备https域名证书和服务器环境,如何获取证书和配置我们下面会详细介绍

https证书获取

这里我们介绍三种https免费证书的获取方式。首先第一种如果你使用的是阿里云的服务器,并且在阿里云购买的域名,那就比较方便了。

阿里云获取证书

登录阿里云之后,在搜索栏搜索ssl证书,选中ssl证书(应用安全)控制台,打开证书列表页面。

在证书列表页面,点击购买证书。

2021年起阿里云证书将以资源包的形式开放(说实话,更麻烦了),需要点击证书资源包中进行下单。

选择免费证书扩容包20个,支付金额为0元,下单就可以了。

选择左侧证书资源包选项卡,然后在剩余证书数量中点击证书申请。

申请一个。

在下面新增的这条信息中点击申请证书,会要求填写一些信息,比如网站域名,证书所有人,比较简单,看一眼都会的。

登记之后就会出现下载按钮,在弹出的弹框中选择需要对应的环境就可以了,一般我这里下载的证书会配置在nginx中,所以下载nginx的。

这样我们下载下来的文件夹中就会包含key和pem两个文件。

node的mkcert模块获取证书

第二种获取证书的方式是通过本地服务自动生成。首先需要安装node的mkcert模块。

npm install -g mkcert

然后通过下面代码生成证书的公钥和私钥,也就是key和pem。

const mkcert = require('mkcert');
const fs = require('fs');const start = async () => {// create a certificate authorityconst ca = await mkcert.createCA({organization: 'Hello CA',countryCode: 'NP',state: 'Bagmati',locality: 'Kathmandu',validityDays: 365});// then create a tls certificateconst cert = await mkcert.createCert({domains: ['127.0.0.1', 'localhost'], // 域名地址validityDays: 365,caKey: ca.key,caCert: ca.cert});fs.writeFile(`${__dirname}/test.key`,cert.key, (error) => {console.log(error)});fs.writeFile(`${__dirname}/test.pem`,cert.cert, (error) => {console.log(error)});
}start();

执行之后就可以在我们写入的文件位置${__dirname}/test.key找到我们生成的证书。key文件和pem文件。

mkcert工具获取证书

第三种方式是使用mkcert工具,区别于npm工具,注意和npm的mkcert进行区分,同时安装两个工具会造成使用冲突。

首先使用brew安装mkcert工具,然后初始化安装CA的根证书安装根证书。最后使用mkcert生成域名证书就可以了。这样同样会在本地生成key和pem两个文件。

// 安装mkcert
brew install mkcert
// 安装根证书
mkcert ---install
// 生成本地签名,假设域名为123.com
mkcert 123.com

配置证书

nginx 服务

首先介绍的是nginx服务,将之前下载好的key和pem文件放在自己需要的位置,我一般是习惯在nginx的配置目录中新建一个certs的文件夹,然后将这两个文件copy进去。

紧接着打开nginx的配置文件, 这里还是看你自己的nginx配置情况,默认是/usr/local/nginx/conf/nginx.conf文件。

https使用的是443端口号,默认情况下nginx是注释了这块代码区域的,记得放开,然后将key和pem分别配置在ssl_certificate和ssl_certificate_key中,注意后面的路径,我这里nginx.conf和certs文件夹在同一个目录,所以我使用/certs/xxxx.key找到文件。

当然如果你安装了http2模块也可以顺便开启h2, 只需要在listen后面添加个个http2就可以了。非常的简单。listen 443 ssl http2;

配置好之后重启nginx,再使用https访问我们的网站就可以访问了。

nginx -s reload

node服务

如果你的网站是一个node服务器,那配置起来就特别简单了,就是基于https模块搭建启动服务,然后监听443端口。

首先需要安装https模块。

npm install https --save-dev

创建服务的方式和http模块基本一致,也是使用createServer方法,不过这里需要传入key和pem,最后监听的端口需要使用443。

const https = require('https');
const fs = require('fs');
const app = https.createServer({key: fs.readFileSync('./xxxx.key'),cert: fs.readFileSync('./xxxx.pem')
}, (req, res) => {res.writeHead(200, {'Content-Type': 'text/plain'});res.end('https');
}).listen(443, '0.0.0.0');

至此网站升级https就做完了,说实话我还是倾向于第一种nginx的方式,无论你是搭建企业应用还是个人博客,nginx都是不可缺少的。或许很多人觉得nginx距离前端很远是运维的东西,其实不然,他时时刻刻都在我们身边。用户访问网站所经过的第一关就是nginx。感兴趣的同学可以看看我之前写的,针对前端同学的nginx, 先点个赞再传送,谢谢~。

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

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

相关文章

浅谈大型网站之负载均衡架构

概念 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 负载均衡建立在现有网络结构之上,它提…

整合营销系统推荐乐云seo_seo公司

seo公司  网下推广:借助线下的平面媒体:名片、标志、彩页等一些列的传统媒体进行网站的推广。【篇二】网络营销策划方案  一、网站分析  1、网站流量分析  安装一套流量统计系统,可以清晰的判断网站目前所有营销手段的效果&#xff0…

生成静态html文件_2019年最流行的静态网站生成器有哪些?

静态站点生成器变得越来越流行。下面解释一下我们所说的“静态站点生成器”到底是什么。静态站点生成器是介于手工编码的静态站点和 CMS 之间,同时保留两者优点的折中解决方案。本质上,你会使用类似 CMS 模版的概念生成静态 HTML 站点。内容可能会是从数…

撑起12306网站,全靠这个世界第一的缓存框架!

提起业务量,除了京东618,淘宝双11,当数全民抢票平台 12306最有发言权。后台有位粉丝问了个很典型的问题,同样是架设在阿里云上的服务器,为什么12306经常会宕机,而双11阿里每秒钟50多万笔订单,都…

ASP.NET 4中的SEO改进

ASP.NET 4包括了一系列新的运行时特性,可以帮助你进一步优化你的网站。其中一些新特性可以用来进行SEO优化以提高网站在搜索引擎中的排名和权重,这些特性包括: 新的Page.MetaKeywords 和 Page.MetaDescription 属性 针对ASP.NET Web Forms的新…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

从LiveJournal后台发展看大规模网站性能优化方法

因近期打算对公司应用架构进行调整, 其中的一些思路值得借鉴. 以下为转载内容: 一、LiveJournal发展历程 LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能: 博客,论坛社会性网络&#xff0…

23个精美的的国外网站设计作品推荐欣赏

如果一个网站的内容不是很多而且将来内容也不怎么增加的话,那么制作成单页(Single Page Websites)的形式是很好的选择。这种只有一个页面的网站形式,曾经非常流行,现在依然有很多人喜欢。如果你也想做一个这样的网站&a…

01火山PC开发网站-我的第一个网页程序

大家好,我是你们的老师利快云,后续我们将会持续性的更新火山PC开发网站的文章,欢迎大家持续性的关注~ PS:文章正式开始~ 首先我们新建一个火山PCMFC窗口项目,并添加我们所安装的模块,如下图: …

Spring Boot + Vue 音乐网站开源项目,前后端分离,拿来练手真不错!

点击关注公众号,Java干货及时送达参考:github.com/Yin-Hongwei/music-website项目说明本音乐网站的客户端和管理端使用 VUE 框架来实现,服务端使用 Spring Boot MyBatis 来实现,数据库使用了 MySQL。项目功能音乐播放用户登录注册…

火山PC炫彩+html解析网站

火山PC炫彩列表html解析网站 本文作者:灰羊羊 一、火山调用的模块 1.炫彩界面库 2.html解析工具类 3.火山模块 二、正文开始,首先创建火山的项目 创建一个火山的空窗口项目,此处我们使用炫彩的界面,创建成员,最后返回要为0&#…

Android学习资料整理:流行框架网站书籍推荐---博客推荐

| 图片加载 | Glide | 可播放gif,谷歌推荐的图片加载 | | 图片加载 | Fresco | 可播放gif,流畅性最好的加载框架,Facebook 出品 | | 图片加载 | Picasso | squre inc.开源的图片加载框架。 | | 图片处理 | Picasso—transformations | 图片处…

Android程序员35岁之后还在招聘网站上投简历找工作丢人吗?

5.没啥明显长处,但做事踏踏实实,交给你的事情不会出漏子,和你工作过的人觉得和你搭档舒心。 6.虽然有个性,但也有创意,能做别人想不出来的好策划,好设计。 7.要么擅长娱乐酒席,要么擅长活动组…

Spring Boot + Vue 音乐网站开源项目,前后端分离,拿来练手真不错!

项目说明 本音乐网站的客户端和管理端使用 VUE 框架来实现,服务端使用 Spring Boot MyBatis 来实现,数据库使用了 MySQL。 项目功能 音乐播放用户登录注册用户信息编辑、头像修改歌曲、歌单搜索歌单打分歌单、歌曲评论歌单列表、歌手列表分页显示歌词…

主导SEO成败的关键是细节的布局,细数SEO三大布局思路

有的人认为SEO操作就类似车间工作,有一个完整的流程,整套流程下来网站就会有一个好的排名。这样是不对的,优化的着重点是要有一个好的思维,技巧和策略,把这些着重点相结合的运用到SEO优化中,很大的机率会达…

网站架构演化

http://www.ha97.com/5095.html 说到大型网站,就得先说大型网站的特点:高并发、大流量、高可用、海量数据等。下面就说说大型网站的架构演化过程吧。 1. 初始阶段的网站架构 初始阶段都比较简单,通常一台服务器就可以搞定一个网站了&#xff…

网站都变成灰色,几行代码就搞定了!

点击关注公众号,Java干货及时送达推荐阅读:Spring 旗下最牛逼的国产项目!Spring Boot 3.0 正式发布,王炸!!当大家看到全站的内容都变成了灰色,包括按钮、图片等等。这时候我们可能会好奇这是怎么…

网站导航颜色停留_老外喜欢什么样的外贸网站?

在经济全球化的大背景之下,电子商务在海外市场拓展中的作用越来越凸显。符合国际化标准的外贸网站的建设,对于外贸企业的海外市场拓展和良好品牌建立的意义是十分重大的。今天,全球搜根据多年来的外贸建站经验,与大家分享如何打造…

从上百幅架构图中学得半点大型网站建设经验(上)

从上百幅架构图中学大型网站建设经验(上)引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计…

电商网站商品详情页缓存服务框架以及Hrstrix核心

小型电商网站商品详情页架构 会做一个静态化页面,直接返回给用户,不涉及业务,所以返回时间特别快,如图所示。 这坏处在于只是使用一些小型的网站,几百几千到几万的商品数据。如果一些大型网站,商品数量几亿…