作为一名程序员,特别是后端程序员,给你的项目配置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 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。
本文会分为以下三个部分讲解:
- 阿里云域名解析
- 申请https证书
- 服务器配置证书
阿里云域名解析
首先要做的就是购买一个域名,拥有一个自己的服务器,然后将我们的域名解析到服务器上,并且完成备案,本文不介绍备案流程,可自信查阅。
我们在阿里云控制台的域名列表可以看到自己拥有的域名,每个域名的右边都有几个操作按钮,通过解析按钮先将你的域名解析到你的服务器上,不懂怎么解析的也可以单独问我。
比如我的域名列表如下图。
域名列表
有几条解析记录将域名解析到对应的服务器ip上,这样请求域名就会请求到服务器上去了。
解析记录
这样阿里云的控制台域名解析部分算完成了。
申请https证书
鼠标移到控制台左侧最上方的产品与服务菜单会弹出产品搜索面板,输入SSL或者证书可以看到有一个SSL证书的产品,我们点进去。
SSL证书产品
点击购买证书
购买证书
证书一般是要钱的,但是阿里云提供了一个免费的证书,域名类型选择单个域名,证书类型选择DV域名级SSL,证书等级选择免费版,0元即可购买。
购买证书
购买完成后在SSL证书页面可以看到你的证书列表有个待申请的证书,绑定域名是空的。
待申请的证书
那么接下去我们进行证书申请,点击证书申请进入证书申请提交表单。
申请提交表单
填写好你的域名和申请人信息,CSR生成方式选择系统生成,点击下一步。
验证
系统为你自动生成了一个解析记录用于申请证书,提交审核按钮是灰色,需要我们点击验证成功后才能提交审核,一般验证都会成功。
验证成功
提交审核就可以了,再看下证书列表已经有绑定域名了,状态过一会也已经变成了已签发。
已签发
右边的下载按钮可以下载歌服务器的证书。
接下去就是在服务器上使用配置上这个证书了。
服务器配置证书
首先我们需要将证书下载下来,点击证书列表右侧的下载,阿里云提供了多种服务器类型的证书文件,本文以Nginx服务器为例,我们在Nginx栏点击下载把证书下载下来。
证书下载
下载下来是一个zip压缩格式,我们解压出来,里面包含两个文件。一个是私钥文件,一个是证书文件。
证书文件
远程链接到你的服务器上,将这两个文件传到你的服务器上,比如我传到了/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访问时会显示不安全的链接,如下图。
不安全的证书
好了,到这里已经全部讲解完了。