有你在真好 的个人博客
阿里云域名申请免费https+服务器nginx配置证书
阅读:2064 添加日期:3/30/2021 5:56:37 PM

作为一名程序员,特别是后端程序员,给你的项目配置Https是比较常见的事,特别是很多时候必须要使用https,比如微信小程序生产环境的接口地址就必须要https域名。那么如何给域名配置https呢,本文给你介绍下载阿里云购买的域名是如何配置https的。

https的概念我就不多说了,直接看下网上的介绍:

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

本文会分为以下三个部分讲解:

  1. 阿里云域名解析
  2. 申请https证书
  3. 服务器配置证书

阿里云域名解析

首先要做的就是购买一个域名,拥有一个自己的服务器,然后将我们的域名解析到服务器上,并且完成备案,本文不介绍备案流程,可自信查阅。

我们在阿里云控制台的域名列表可以看到自己拥有的域名,每个域名的右边都有几个操作按钮,通过解析按钮先将你的域名解析到你的服务器上,不懂怎么解析的也可以单独问我。

比如我的域名列表如下图。


阿里云域名申请免费https+服务器nginx配置证书

域名列表

有几条解析记录将域名解析到对应的服务器ip上,这样请求域名就会请求到服务器上去了。

阿里云域名申请免费https+服务器nginx配置证书

解析记录

这样阿里云的控制台域名解析部分算完成了。

申请https证书

鼠标移到控制台左侧最上方的产品与服务菜单会弹出产品搜索面板,输入SSL或者证书可以看到有一个SSL证书的产品,我们点进去。


阿里云域名申请免费https+服务器nginx配置证书

SSL证书产品

点击购买证书

阿里云域名申请免费https+服务器nginx配置证书

购买证书

证书一般是要钱的,但是阿里云提供了一个免费的证书,域名类型选择单个域名,证书类型选择DV域名级SSL,证书等级选择免费版,0元即可购买。


阿里云域名申请免费https+服务器nginx配置证书

购买证书

购买完成后在SSL证书页面可以看到你的证书列表有个待申请的证书,绑定域名是空的。


阿里云域名申请免费https+服务器nginx配置证书

待申请的证书

那么接下去我们进行证书申请,点击证书申请进入证书申请提交表单。


阿里云域名申请免费https+服务器nginx配置证书

申请提交表单

填写好你的域名和申请人信息,CSR生成方式选择系统生成,点击下一步。


阿里云域名申请免费https+服务器nginx配置证书

验证

系统为你自动生成了一个解析记录用于申请证书,提交审核按钮是灰色,需要我们点击验证成功后才能提交审核,一般验证都会成功。


阿里云域名申请免费https+服务器nginx配置证书

验证成功

提交审核就可以了,再看下证书列表已经有绑定域名了,状态过一会也已经变成了已签发。


阿里云域名申请免费https+服务器nginx配置证书

已签发

右边的下载按钮可以下载歌服务器的证书。

接下去就是在服务器上使用配置上这个证书了。

服务器配置证书

首先我们需要将证书下载下来,点击证书列表右侧的下载,阿里云提供了多种服务器类型的证书文件,本文以Nginx服务器为例,我们在Nginx栏点击下载把证书下载下来。


阿里云域名申请免费https+服务器nginx配置证书

证书下载

下载下来是一个zip压缩格式,我们解压出来,里面包含两个文件。一个是私钥文件,一个是证书文件。


阿里云域名申请免费https+服务器nginx配置证书

证书文件

远程链接到你的服务器上,将这两个文件传到你的服务器上,比如我传到了/usr/local/nginx/ssl/下。

然后在你的nginx配置文件里添加一个server如下:

server {
        listen       443;
        ssl on;
        server_name  www.xxx.net;

        ssl_certificate      /usr/local/nginx/ssl/4764933_www.xxx.net.pem;
        ssl_certificate_key  /usr/local/nginx/ssl/4764933_www.xxx.net.key;

        ssl_session_timeout  5m;

        location / {
            proxy_pass   http://127.0.0.1:8087/;
        }

    }

配置文件里监听了来自指定域名的443端口,443也就是https的默认端口,然后指定了私钥和证书的位置,location指定了访问的服务器上的资源。

接下去我们来访问下配置了证书的域名,配置了证书后的效果如下


阿里云域名申请免费https+服务器nginx配置证书

配置了证书后的效果

需要注意的是,证书有效期默认是一年,到期需要继续申请,不然你的网站https访问时会显示不安全的链接,如下图。

阿里云域名申请免费https+服务器nginx配置证书

不安全的证书

好了,到这里已经全部讲解完了。