接上篇《腾讯云下安装 nodejs + 实现 Nginx 反向代理》,想从头一步到位的同学建议从上篇文章开始阅读。本文将继续介绍如何通过 Nginx 免费部署HTTPS。

留意下,这里的“免费”指的是HTTPS证书的获取,至于域名还是需要额外购买(其实域名真心很便宜了)

笔者在腾讯云上购买了 vajoy.org 的域名,并根据官方指引进行了解析处理,绑定到服务器ip上(留意处理后大约10分钟后才能ping通)

接着在云主机修改配置,执行:

#vim /home/ubuntu/nginx/conf/nginx.conf

将 server_name 修改为“vajoy.org”

然后重启 Nginx 服务:

#/home/ubuntu/nginx/sbin/nginx -s reload

这时咱们直接用浏览器访问 http://vajoy.org 就能正常访问了,只不过是 HTTP 协议形式:

免费获取HTTPS证书

事实上腾讯云本身支持申请免费的SSL证书,不过其仅支持单个非一级域名:

另外为了方便非腾讯云用户也可以做参考,这里我们通过 https://startssl.com/ 来申请免费的SSL证书。

咱们先在 startssl 上进行注册,然后选择申请免费的证书:

如其描述所示,该证书时限为3年,支持10个域名,但仅提供到 Class 1 级别的证书。这里简单科普下证书级别概念:

Class 4 SSL证书:即EV SSL证书,顶级SSL证书,又称扩展验证型SSL证书。安全级别最高,验证审核最严格,网站部署EV SSL证书后,浏览器地址栏将变成绿色并显示企业名称。EV SSL证书一般应用于金融、银行、电商等安全需求较高的网站。
Class 3 SSL证书:即OV SSL证书,专业级SSL证书,又称机构验证型SSL证书。当前广泛应用的SSL证书,需要验证企业身份信息后颁发。OV SSL证书是当前最常见的证书类型,适用于行政、企业、科研、邮箱、论坛等各类大中型网站。
Class 2 SSL证书:即IV SSL证书,个人级SSL证书,沃通特有的SSL证书,又称个人验证型SSL证书。验证个人详细信息后颁发,主要应用于私人博客、自媒体等个人网站。
Class 1 SSL证书:即DV SSL证书,基础级SSL证书,又称域名验证型SSL证书。DV SSL证书是签发只验证域名所有权,任何人都可以申请,属于快速颁发的SSL证书,安全级别较低。

目前来说,Class 1 SSL 证书对咱是够用了。

接着 startssl 会指引我们对 SSL 证书进行域名认证:

点击“Finish”链接,再选择“Domain Validation”,会进入域名验证页面:

这里要求通过域名邮箱来接收验证码。不过截止咱还没有任何邮箱服务。

怎么办呢?不用慌,通过腾讯企业邮是可以进行免费申请的,登录其申请页面点击申请免费版即可。

申请的过程中会提供你域名MX记录的配置信息:

我们返回腾讯云管理后台的域名解析页面,新增对应记录即可:

接着回到腾讯企业邮管理后台,添加 startssl 要发送验证码的邮箱账户:

再用这个邮箱(hostmaster@vajoy.org)作为帐户名登录腾讯企业邮即可:

顺便吐槽下,企业邮这么方便的产品,腾讯云整个站点都没找到传送门,这点建议改进了。

回到 startssl,这下可以安心发送域名验证的验证码到咱邮箱(hostmaster@vajoy.org)了。

初步验证完成后,咱们再点击“Certificates Wizard”:

如上图,这里有两处需要填写,一处是证书的 common name,这里我填写的“vajoy.org”,如果你还希望该证书支持其它域名(如“a.vajoy.org”),可以换行加上(一个只能加10个域名)

另外是需要在服务器上生成的CSR(证书请求文件)内容。

我们在云主机上(/home/ubuntu)执行指令(指令格式参考上图 startssl 页面红字部分)

openssl req -newkey rsa: -keyout vajoy.org_ssl.key -out vajoy.org.csr

期间会要求输入机构名称、地址、email等信息,且最终会生成两个文件(证书签名请求文件和私钥)

通过 cat 指令获取到 CSR 文件内容后把它粘贴到 startssl 页面。提交后会引导你下载证书:

点击“here”直接下载证书压缩包,打开后里面有各种服务器支持格式的证书,这里咱们选 NginxServer.zip,解压它可得到“vajoy.org_bundle.crt”文件。

把下载到的这个“vajoy.org_bundle.crt”证书上传到咱服务器去(我通过 FileZilla 上传服务器,放到 /home/ubuntu)

接着就是修改 nginx 的配置啦。这里特别推荐到 https://cipherli.st/ 去获取最安全的配置内容。

我们给 nginx.conf 加上红框部分的内容(跟进 https://cipherli.st/ 上的配置来修改的)

然后执行指令判断 nginx 配置是否正确:

#/home/ubuntu/nginx/sbin/nginx -t

注意这里可能还会让你输入一次 PEM 密码,直接输入之前生成 .csr 时填写的安全密码即可。

最后我们再重启下 nginx 服务,再访问 https://vajoy.org 会发现HTTPS已经妥妥的生效了:

后续可能还会再讲讲这次 nginx.conf 上新增的内容的含义,以及一些针对HTTPS的优化。共勉`

腾讯云上免费部署HTTPS的更多相关文章

  1. 【转载】网站配置Https证书系列(一):腾讯云申请免费的SSL证书的流程步骤(即https安全连接使用的证书)

    很多网站为了安全性考虑都会上https安全连接,此时就需要考虑使用SSL证书,其实在腾讯云这边提供有免费的SSL证书申请,登录腾讯云管理控制台后,进入SSL证书管理页面,里面有个申请免费证书.腾讯云申 ...

  2. Tencent Cloud 腾讯云上部署 EMR Cluster + Kafka + Confluent (Schema-Registry)

    腾讯云上有些操作比起 Amazon AWS 还是很方便的, 尤其部署EMR Cluster,下面详细介绍步骤:

  3. 创建Django项目并将其部署在腾讯云上

    这段时间在做scrapy爬虫,对爬出来的数据基于Django做了统计与可视化,本想部署在腾讯云上玩玩,但是因为以前没有经验遇到了一些问题,在这里记录一下: 首先说下Django的创建与配置: 1. 创 ...

  4. 在腾讯云上创建您的SQL Cluster(4)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/255 来源:腾云阁 https://www.qclo ...

  5. 基于阿里云上实现全站https的正确姿势(一)

    对应的网址:https://yq.aliyun.com/articles/65199 摘要: 目前主流大厂的网站和服务都已经实现了全站https, 例如: baidu, taobao, jd等. 关于 ...

  6. 在腾讯云上创建您的SQL Cluster(3)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/250 来源:腾云阁 https://www.qclo ...

  7. 如何在腾讯云上安装Cloud Foundry

    Cloud Foundry是VMware推出的业界第一个开源PaaS云平台,它支持多种框架.语言.运行时环境.云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的 ...

  8. 腾讯云服务nginx部署静态项目

    一直想要搭建自己的blog,买了基础云服务器练手 文章内容是根据腾讯文档(https://cloud.tencent.com/document/product/213/2131)总结 部署静态页面归纳 ...

  9. 在腾讯云上把Laravel整合万向优图图片管理能力,打造高效图片处理服务

    推荐理由: 现如今数据爆炸性增长,人类生活产出的数据越来越多,文字信息,图片信息,视频信息:但有很多信息我们都无法直接使用,需通过一定的处理,才能够获取其中对我们有用的信息,在腾讯云上的万向优图能够对 ...

随机推荐

  1. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  2. Linux中进行单文件内容的复制

    文件内容复制的常规方法: 开辟一段空间,不断读取文件的内容并写入另一文件当中,这种方法好在安全,一般在类型允许的最大范围内是安全的,缺点就是复制内容的时间长 一次性复制文件的内容,这种方法必须首先获取 ...

  3. ifconfig: command not found(CentOS专版,其他的可以参考)

    ifconfig: command not found 查看path配置(echo相当于c中的printf,C#中的Console.WriteLine) echo $PATH 解决方案1:先看看是不是 ...

  4. (JS+CSS)实现图片放大效果

    代码很简单,在这里就不过多阐述,先上示例图: 实现过程: html部分代码很简单 <div id="outer"> <p>点击图片</p> &l ...

  5. android键盘

    在应用的开发过程中有不少的情况下会用到自定义键盘,例如支付宝的支付密码的输入,以及类似的场景.android系统给开发者们提供了系统键盘,KeyboardView,其实并不复杂,只是有些开发者不知道罢 ...

  6. ASP.NET MVC开发日常一:SessionID合理清除

    在MVC Web开发中临时存储数据一般会用到Session,Cookie,ViewBag,ViewData,TempData.每个的使用场景是不同,具体区别有空再补上. Session数据最敏感,最需 ...

  7. WebGIS中等值线前端生成绘制简析

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 等值线是GIS制图中常见的功能,一般有两种思路:一种是先进行插 ...

  8. 拼图小游戏之计算后样式与CSS动画的冲突

    先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...

  9. linux服务器开发一 基础

    注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...

  10. 易用BPM时代,企业如何轻松驾驭H3?

    众所周知,BPM作为企业发展的推动力,能敏捷高效的融合业务流程和信息资源.通过综合考虑流程的成本.效率.质量等方面因素,用IT系统将调整后的流程固化下来,从而降低企业管理成本,提高内部运营效率,提升企 ...