ssl协议的连接步骤,ssl握手协议四个步骤

首页 > 科技 > 作者:YD1662024-05-01 05:25:22

本文为远怀学堂原创,纯干货分享

我们昨天发布的一篇教程(免费的SSL证书它不香吗?香,真香!)跟大家分享了如何通过阿里云去申请免费的SSL证书,有效期1年,支持个人/企业申请,一个阿里云帐户最多可签发20张。

申请好了SSL证书下一步就是配置安装部署证书,把证书用起来,步骤也很简单,这里跟大家分享下如何在nginx服务器中轻松部署安装配置,3步搞定。

ssl协议的连接步骤,ssl握手协议四个步骤(1)

本教程是接着上一个教程的示例继续操作,如果没看过上一篇教程,可以到我们的主页上查看下相关内容

第1步 下载证书文件到本地电脑中

在阿里云控制台中的SSL操作界面中找到刚申请成功的免费SSL证书,点击右侧的「下载」链接,弹出下载页面,然后点击Nginx右侧的下载按钮,下载证书文件。

ssl协议的连接步骤,ssl握手协议四个步骤(2)

每种WEB服务器的ssl证书格式不一样,不通用,需要单独下载对应服务器的SSL证书文件

下载完是一个zip压缩包文件,需要进行解压,解压下来是两个文件:

ssl协议的连接步骤,ssl握手协议四个步骤(3)

以.key为后缀的文件是密钥文件

以.pem为后缀的文件是证书文件

第2步 上传到服务器中的特定的文件夹目录下

将第1步中的证书文件(.pem结尾)和密钥文件(.key)文件上传到Nginx服务器中,这两个文件具体的放置路径是在Nginx安装目录下的conf/cert文件夹中。

比如你的Nginx安装目录是/usr/local/nginx,则先在/usr/local/nginx/conf目录下新建一个文件夹cert,然后将这两个文件上传放置在这个目录下。

如果你是Linux主机的话可以参照下面的命令(Windows用户可以手动图形化界面操作):

//创建cert目录 cd /usr/local/nginx/conf/ mkdir cert

通过FTP、SCP或者SFTP等工具将证书上传到cert目录,最终效果是:

ssl协议的连接步骤,ssl握手协议四个步骤(4)

第3步 配置nginx.conf,使证书生效

修改nginx的配置文件/usr/local/nginx/conf/nginx.conf,修改之前最好通过复制命令将该配置文件备份一份,以防万一把该配置文件改坏了,好恢复。

//备份一份原始的配置文件 cp nginx.conf nginx.conf.bak.2020.03.09

接下来就修改nginx.conf文件:

vim nginx.conf

在nginx.conf里增加配置信息:

# HTTPS server server { listen 443 ssl; server_name api.yuanhuaixuetang.com; ssl_certificate cert/3564574_api.yuanhuaixuetang.com.pem; ssl_certificate_key cert/3564574_api.yuanhuaixuetang.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; root /var/www-data/yhxtapi; index index.html index.php; location / { } }

这里对上面的配置信息做一个简单的解释 :

配置信息中ssl开头的配置项是与SSL证书配置相关的,其他内容是一般的Nginx服务器配置信息。

listen 443 ssl; //监听443端口,因为SSL协议是走443端口

servername api.yuanhuaixuetang.com; //虚拟主机的servername,要与你所用的证书中的域名一致,也就是当时申请SSL证书时用的什么域名,这里也要是相同的域名。

ssl_certificate cert/3564574_api.yuanhuaixuetang.com.pem; //证书文件(.pem)的路径地址,也就是第2步中上传的证书文件的存放地址

ssl_certificate_key cert/3564574_api.yuanhuaixuetang.com.key; //密钥文件(.key)的路径地址,也就是第2步中上传的密钥文件的存放地址

ssl_session_timeout 5m; //客户端可以重用会话缓存中的ssl的过期时间

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; //密码加密方式

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; //启用特定的加密协议

ssl_prefer_server_ciphers on; //配置优先使用服务端的加密套件,而不是客户端浏览器的加密套件

其他配置信息是基本的Nginx服务器配置信息,这里不详细介绍了。

配置完成之后,保存,使用nginx的命令测试一下配置文件是否正确:

nginx -t

输出结果:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

代表配置文件修改的没问题。

然后让nginx重新加载下配置文件

nginx -s reload

配置就完成了!接下来就是测试看看效果了。

测试下效果

测试之前你需要做的:

  1. 确保你的服务器防火墙443端口已开启,因为SSL协议是走443端口的,像使用阿里云ECS服务器的话防火墙默认是没开启443端口,需要自己手动去开启。
  2. 做好域名的解析,将域名正确的解析到你的服务器IP地址上。

做好了这两步之后,你可以在刚配置好的SSL虚拟主机的根目录下新建一个html文件测试下。

按照本文中的配置的话就是在 /var/www-data/yhxtapi目录下新建一个index.html,随便写点内容,然后打开浏览器,访问:HTTPS://api.yuanhuaixuetang.com/

ssl协议的连接步骤,ssl握手协议四个步骤(5)

点击左侧的小锁图标可以看到信息

ssl协议的连接步骤,ssl握手协议四个步骤(6)

看到上面中的显示效果代表你的SSL证书生效了,配置安装成功了!

可以再多做一件事

你可以在nginx.conf里再多配置一点:

server { listen 80; server_name api.yuanhuaixuetang.com; rewrite ^(.*)$ https://$host$1 permanent; }

上面的配置可以让用于访问HTTP请求时自动跳转到HTTPS开头的地址,确保用户访问的是安全的HTTPS链接。

下载证书 -> 上传证书 -> 配置web服务器,3步可以搞定SSL证书安装使用,最后别忘了配置完成后测试一下是否成功,是不是很简单?

在其他的WEB服务器中安装配置的步骤与此类似,不过配置web服务器与Nginx服务器中不同

本文为远怀学堂原创,觉得有用,有价值就收藏、转发吧,同时记得关注「远怀学堂」,我们专注于「原创·精品」的IT技术教程,图文 & 视频。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.