如何申请域名购买证书并在Nginx服务器上实现HTTPS?

Posted DreamMakers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何申请域名购买证书并在Nginx服务器上实现HTTPS?相关的知识,希望对你有一定的参考价值。

如何在nginx服务器上安装证书实现HTTPS升级?

背景

现在后台的服务实现https越来越普及了,为了保证后台服务的安全性,一般都会进行https升级,而且有些机构强制性要求实现https,所以这篇文章从头到尾说下如何申请域名、如何购买证书、如何配置证书实现https等等细节。

怎么购买域名和配置域名解析?

为什么要购买域名呢?之所以这里要先购买域名,是因为你会发现,在通过申请证书的时候是需要设置这个证书所绑定的域名,IP不行,所以在购买证书前还是先买个域名吧。

购买域名有很多途径,最方便的莫过于通过一些知名的云平台,如阿里云、腾讯云等等。
下面提供两个云平台的购买地址:
阿里云官网入口
腾讯云官网入口

阿里云域名购买及查询入口
腾讯云域名购买及查询入口

下面是我在阿里云上购买的域名情况,在后面的例子中其实用的是另外一个域名,但是涉及到一些隐私问题,不方便对外公布,所以这里用自己购买的域名为例进行说明。
我购买了一个用来购买分享的域名lefenxiang.club(乐分享,让分享快乐你我)。

在购买了域名之后,我们需要将这个域名指向我们需要指向的服务器地址上,或者是某个负载均衡器上,当然也可能是自己购买的一些云端负载均衡服务。总之,会有一个公网IP地址。怎么配置呢?下面还是以阿里云为例进行说明:


然后在弹框中进行设置:

这里的记录类型选择的事A,如果只是指向一个简单的IP地址的话。这里的记录值填写IP地址。

在配置完成并保存后,我们可以在控制台执行ping命令看下这个域名解析是否能够成功。我们看到可以正常接收到返回,说明域名解析生效了。(正常情况下,域名购买后要过一会才会生效,如果是企业内部网络,可能同步的时间需要较长。)

如何购买证书?

一般来说,HTTPS证书的购买都是需要花钱的,但是免费的也有。这里介绍一种既免费又方便的获取方式,那就是通过阿里云。在阿里云平台上我们可以申请一个基本的免费证书,并且可以免费使用1年。如果在1年内网站发展的不错,自然也不会吝惜几千块钱买个升级版的证书了。

证书免费申请地址


在请求完免费的证书之后,并不能直接使用,而是需要根据阿里云的要求提交一些证书绑定的信息,如域名、使用者信息,并且提交申请,在审核通过后才能真正可以使用。


从上面可以看到我申请的证书绑定了www.lefenxiang.club这个域名,并且有效期到2020年11月份。后面如果要使用这个证书,那么可以下载相应的证书文件部署到相应的服务器上。在右下角可以看到证书下载的入口,点击下载后会弹出如下图所示的提示,可以根据自己的需要选择相应的证书包。我们这里将证书部署在Nginx上,所以选择Nginx。

如何在Nginx上配置证书?

怎么实现可以按照下方阿里云的介绍说明一步步来,亲测有效。
在Nginx/Tengine服务器上安装证书

下面简单讲下Nginx服务器上配置证书的过程。如果还没有安装过Nginx,可以自行在官网下载Nginx的安装包,网上有很多现成的安装步骤。

下面是Nginx安装后的根目录:

在conf子目录下有nginx最重要的信息-配置文件nginx.conf,不管有没有配置过这个文件,建议在修改前先进行一个备份。

我们需要将之前申请的证书拷贝到nginx的根目录,可以在根目录下创建一个cert的子文件夹,绝对地址可能像/usr/local/nginx/cert这样,当然也可以在其他目录,在nginx配置文件中进行配置相应的地址就可以了。

使用vim nginx.conf打开这个文件,按照下面的标红提示在server中添加https相关的配置,如下所示:

至此,https相关的配置就全部配置完了,你可以通过一些工具,如Postman,来模拟发起请求,看看是否相应的配置已经生效。至于Nginx自身的一些路由配置,大家可以自行学习了解。

其他说明

在域名解析过程中,除了上面的ping命令外,我们还可能会使用到和域名相关的两个命令nslookup和dig,至于这两个命令的详细使用方法这里就不说明了,有需要的可以自行百度学习下,这个这些命令可以知道域名解析的详细过程,都经过了哪些DNS服务器等等。

结语

本文对如何申请和购买域名、购买和安装证书进行了说明,实现了在Nginx服务器上完成了HTTPS升级。

以上是关于如何申请域名购买证书并在Nginx服务器上实现HTTPS?的主要内容,如果未能解决你的问题,请参考以下文章

一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS

腾讯云网站备案 域名解析 SSL证书申请 Ubuntu16.04下为Nginx服务器配置SSL证书

让你的网站走https(linux, nginx)

基于阿里云服务器ECS CentOS7.6+WordPress Nginx 配置HTTPS

阿里云购买的域名,买的ssl证书,怎么让证书有效?怎么配置证书到域名上面去

阿里云域名和服务器 nginx 配置https