简介

SSL证书是数字证书的一种类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

阿里云SSL证书的配置非常简单,申请完成,打包下载放到你的web服务器上即可;与阿里云的SSL证书不同,GoDaddy作为一个专门的域名和SSL证书服务的提供商,其为保证SSL证书的安全性,整个证书的操作过程都需要自己来做,本篇文章就主要介绍在GoDaddy上SSL证书的制作和安装,同时介绍一下SSL的工作原理,希望对需要的小伙伴有所帮助。

SSL证书的工作原理

证书主要作用是在SSL握手中,我们来看一下SSL的握手过程,如下图的步骤

  1. 客户端提交https请求
  2. 服务器响应客户,并把证书公钥发给客户端
  3. 客户端验证证书公钥的有效性
  4. 有效后,会生成一个会话密钥
  5. 用证书公钥加密这个会话密钥后,发送给服务器
  6. 服务器收到公钥加密的会话密钥后,用私钥解密,回去会话密钥
  7. 客户端与服务器双方利用这个会话密钥加密要传输的数据进行通信

GoDaddy 证书制作过程

制作CSR证书签署请求文件

生成证书签署请求CSR(Certificate Signing Request)文件,本文以glinux.top域名为例,自己使用中请做相应替换,需要填写的信息中,请注意Common Name,应为泛域名地址,如: *.glinux.top ,在linux命令行,使用openssl工具执行如下命令

openssl req -new -newkey rsa:2048 -nodes -keyout glinux.top.key -out glinux.top.csr

Generating a 2048 bit RSA private key
.......................+++
...................+++
writing new private key to 'glinux.top.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:ZhejiangSheng
Locality Name (eg, city) [Default City]:Hangzhou
Organization Name (eg, company) [Default Company Ltd]:glinux
Organizational Unit Name (eg, section) []:DevOps
Common Name (eg, your name or your server's hostname) []:*.glinux.top
Email Address []: Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

生成两个文件,glinux.top.csr为证书签署请求,glinux.top.key为客户端解密数据使用的私钥

(可选)将证书签署请求内容输入到该网站https://www.ssldun.com/tools/csr-decoder.php#results进行解码,验证信息是否正确,如下图。

CA(Certification Authorities)对请求进行签署

打开GoDaddy中所购买的SSL证书,点击生成密钥和管理,填写相关证书签署请求内容,即生成的glinux.top.csr文件内容,验证域名持有者信息,一般有两种方式,通过邮件或者在DNS添加解析记录,等待证书的签发。

证书的安装

待证书签发完成,找到证书下载页,选择对应的web服务类型,如果不存在,请选择其他,此处以nginx web服务类型为主

下载完成,将解压出的文件合并成一个文件,并命名为crt格式,即为证书文件

cat fd72a4fa7c1de0e3.crt gd_bundle-g2-g1.crt > glinux.top.crt

更新nginx配置文件以使用 SSL 证书

server {
listen 80 default_server;
server_name example.htrader.cn;
return 301 https://$host$request_uri;
} server {
listen 443 ssl http2 default_server;
server_name example.glinux.top;
root /usr/share/nginx/html; ssl_certificate "/etc/nginx/conf.d/glinux.top.crt";
ssl_certificate_key "/etc/nginx/conf.d/glinux.top.key";
index index.php index.html index.htm
}

参考文档

最新文章

  1. Android 进程常驻----native保活5.0以上方案推演过程以及代码
  2. MarkDown插入图片
  3. 利用DBMS_ROWID.ROWID_CREATE来找出事务等待的行数据
  4. iOS 序列化与反序列化
  5. UI学习笔记---第七天
  6. linux 中 chmod/chown/cngrp的用法与区别
  7. oracle作业
  8. SEO学习之路
  9. cnn softmax regression bp求导
  10. [Mysql] 安装后启动不了
  11. 20175236 2018-2019-2 《Java程序设计》第四周学习总结
  12. [Canvas]Bowman
  13. 转:C# 小数位数保留的方法集锦
  14. 背包DP 存在异或条件的状态转移问题
  15. JQuery进度条
  16. Python内置的操作系统模块(os)与解释器交互模块(sys)
  17. 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)
  18. Android布局分析工具HierarchyView的使用方法
  19. iOS9中找不到XXX.dylib 与 is unavailable no availabel on ios (app extension) - use view controller 的解决办法
  20. iOS:切换视图时,反向传递数据方法二:代理

热门文章

  1. Java String类相关知识梳理(含字符串常量池(String Pool)知识)
  2. Go Web 编程之 请求
  3. Java扫描指定文件路径下的文件并且递归扫描其子目录下的所有文件
  4. 2、Vue实战-配置篇-npm配置
  5. webpack 三
  6. 谈谈Java的Collection接口
  7. C#中的委托是什么
  8. List去重问题与方法
  9. Linux.vim.多行复制、删除、剪切
  10. 保存数据到txt