SSL证书概述
SSL证书(Secure Sockets Layer certificate)是一种用于加密拦截在客户端和服务器之间传输的数据的安全协议。它通过数字加密技术,确保传输过程中的机密性、完整性和身份验证。
SSL证书可以保护网站和应用程序的安全性,它们通过在客户端和服务器之间建立安全连接,防止第三方窃听、篡改或伪装攻击。
当用户访问一个使用SSL证书保护的网站时,浏览器会与服务器进行握手,交换密钥,并确保所连接的服务器的身份。如果服务器的身份验证成功,浏览器将与服务器建立加密连接,所有在这个连接上传输的数据都会被加密,保证数据的机密性。
为了获取SSL证书,网站管理员需要向可信的证书颁发机构(Certificate Authority,简称CA)申请。CA会对申请者的身份进行验证,然后签发数字证书,该证书包含了服务器公钥和其他相关信息。一旦获得证书,网站管理员就可以将其安装到服务器上,以启用HTTPS协议,从而使网站可以使用安全连接。
SSL证书通常具有有效期限,需要定期更新。如果证书过期或者不受信任,浏览器会显示警告信息,提醒用户潜在的风险。
SSL证书通过加密和身份验证确保了网站和应用程序之间的安全传输。它是保护用户隐私和防止数据被窃取的重要工具之一。
SSL证书有免费的和收费的,本文主要介绍如何申请免费SSL证书。
更多详细内容,请微信搜索“前端爱好者
“, 戳我 查看 。
申请阿里云免费SSL证书的步骤
进入安全与管理-SSL证书面板
登录阿里云控制台,在控制台的 左侧导航栏里 ,搜索 SSL 找到 安全与管理-SSL证书,点击进入。
进入购买证书页面
点击左上角的“ SSL证书 ”按钮,出现“创建SSL证书”页面,选择“ 免费SSL证书 ”,点击“ 购买”按钮。
选择证书类型
购买证书
点击 购买按钮,即可购买成功。
配置证书
在控制台 数字证书管理服务/SSL 证书 中,点击 创建证书按钮,进入配置证书页面,如下图:
填写证书信息
填写证书信息,其中“域名”一栏必须填写,其他信息可以不填,点击“提交审核”按钮。
提交审核证书
审核通过后,免费SSL证书就申请成功了。
申请腾讯云免费SSL证书的步骤
进入SSL 证书面板
地址:https://console.cloud.tencent.com/certoverview
登录腾讯云控制台,在控制台的 顶侧导航栏里 ,搜索 SSL 找到 SSL证书,点击进入。
申请 SSL 证书
地址:https://console.cloud.tencent.com/ssl?filterstatus=auditing
点击 申请免费证书 按钮,进入证书申请弹层。
点击 申请免费证书 按钮,进入证书申请页面。
填写域名等信息,然后点击提交审核按钮
验证域名,此处建议直接DNS解析信息
点击验证域名,验证成功后,则会发送一个邮件。
点击 完成 按钮,返回证书列表
查看我的L证书页面
地址:https://console.cloud.tencent.com/ssl?filterstatus=issued
即可看到申请的证书
Nginx 服务器 SSL 证书安装部署
注意事项
- 本文档以证书名称 cloud.tencent.com 为例。
- Nginx 版本以 nginx/1.20.1 为例。
- 当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。
- 安装 SSL 证书前,请您在 Nginx 服务器上开启 HTTPS 默认端口 443,避免证书安装后无法启用 HTTPS。
下载证书
进入我的证书页面,下载响应证书
地址:https://console.cloud.tencent.com/ssl?filterstatus=issued
解压证书
在弹出的 “证书下载” 窗口中,服务器类型选择 Nginx,单击下载并解压缩 cloud.tencent.com 证书文件包到本地目录。
解压缩后,可获得相关类型的证书文件。
其中包含 cloud.tencent.com_nginx 文件夹:
文件夹名称:cloud.tencent.com_nginx
文件夹内容:
- cloud.tencent.com_bundle.crt 证书文件
- cloud.tencent.com_bundle.pem 证书文件(可忽略该文件)
- cloud.tencent.com.key 私钥文件
- cloud.tencent.com.csr CSR 文件 (申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。)
上传解压的证书服务器
将已获取到的 cloud.tencent.com_bundle.crt 证书文件和 cloud.tencent.com.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /etc/nginx 目录(此处为 Nginx 默认安装目录,请根据实际情况操作)下。
编辑nginx配置文件
可执行命令 nginx -t
,找到nginx的配置文件路径。
请特别仔细查看下面文档内容,很重要很重要很重要。
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name cloud.tencent.com;
#请填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html;
index index.html index.htm;
}
}
验证配置文件是否有问题
nginx -t
如果有问题,请您重新配置或者根据提示修改存在问题。
如果没问题,则会显示如下提示:
重载 Nginx
nginx -s reload
重载成功,即可使用 https://cloud.tencent.com 进行访问。
HTTP 自动跳转 HTTPS 的安全配置
如果您需要将 HTTP 请求自动重定向到 HTTPS。
您可以通过以下操作设置:
根据实际需求,选择以下配置方式:
- 在页面中添加 JS 脚本。
- 在后端程序中添加重定向。
- 通过 Web 服务器实现跳转。
- Nginx 支持 rewrite 功能。若您在编译时没有去掉 pcre,您可在 HTTP 的 server 中增加 return 301 https:// h o s t host hostrequest_uri;,即可将默认80端口的请求重定向为 HTTPS。
编辑nginx配置文件
可执行命令 nginx -t
,找到nginx的配置文件路径。
请特别仔细查看下面文档内容,很重要很重要很重要。
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name cloud.tencent.com;
#请填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html;
index index.html index.htm;
}
}
server {
listen 80;
#请填写绑定证书的域名
server_name cloud.tencent.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
验证配置文件是否有问题
nginx -t
如果有问题,请您重新配置或者根据提示修改存在问题。
如果没问题,则会显示如下提示:
重载 Nginx
nginx -s reload
重载成功,即可使用 https://cloud.tencent.com 进行访问。
参考文档:
- https://www.tencentcloud.com/zh/document/product/1007/30954