一、简介
SSL证书是一种网络安全工具,它使得网站能够在用户浏览器和服务器之间建立安全连接。这层安全主要是通过加密数据传输来实现,确保信息不会被第三方截取或篡改,同时验证网站的真实性,给用户一个信任的信号。
SSL证书与HTTPS的关系:
- SSL证书是实现HTTPS协议的关键组件。当一个网站安装了SSL证书,并配置好HTTPS,它就能够在用户访问时自动激活SSL/TLS加密,从而保护用户和网站之间的所有通信。
- HTTPS实质上就是在HTTP协议基础上加上了SSL/TLS加密层,确保了数据传输的安全性。因此,HTTPS网址开头会有锁形图标,表明连接是加密和安全的。
与HTTP的区别:
- 安全性:HTTP协议以明文形式传输数据,容易被窃听或篡改;而HTTPS通过SSL证书提供的SSL/TLS加密,使得数据在传输过程中保持私密和完整。
- 数据加密:HTTP不加密数据;HTTPS则对所有传输的数据进行加密,包括但不限于用户密码、交易详情等敏感信息。
- 信任度:HTTPS需要通过CA验证并颁发证书,提升了网站的信誉度和用户信任;HTTP没有这一机制,难以验证网站的真实身份。
- 搜索引擎优化:HTTPS被认为是搜索引擎排名的一个正面因素,相比HTTP站点可能获得更好的搜索排名。
- 端口:HTTP默认使用80端口;HTTPS则使用443端口进行通信。
总结来说,SSL证书是HTTPS的核心,为原本不安全的HTTP协议提供了加密和身份验证功能,极大地提高了互联网交互的安全性和用户数据的保护水平。
获取SSL证书
腾讯云:每年有50个免费证书,阿里云每年有20个。在腾讯云中叫申请免费证书,阿里云中叫垢面。别觉得购买就要付费哈doge.
腾讯云证书控制台:腾讯云 - 控制台 (tencent.com)
阿里云ssl证书:
数字证书管理服务(原SSL证书)_SSL数字证书_HTTPS加密_服务器证书_CA认证-阿里云 (aliyun.com)
具体流程
免费证书与收费证书区别
主要是有效器90天,过期时效,需要重新配置
提交证书申请
绑定域名:域名不要带上www
添加自动DNS 验证,我的DNS解析在腾讯云中,所以可以选择
部署SSL证书
下载
结果
cloud.tencent.com_bundle.crt
证书文件
cloud.tencent.com_bundle.pem
证书文件
cloud.tencent.com.key
私钥文件
cloud.tencent.com.csr
CSR 文件
部署
官方讲解视频
SSL 证书 Nginx 服务器 SSL 证书安装部署(Linux)-证书安装-文档中心-腾讯云 (tencent.com)
手动配置
1、在ngnix 安装目录下
新建一个放密钥的文件夹cert
将下载的密钥文件都放到该目录下 crs 文件可忽略
2、ngnix配置文件
include /etc/nginx/conf.d/*.conf;
这行代码告诉Nginx包含 /etc/nginx/conf.d/
目录下所有以 .conf
结尾的文件。这个目录通常用于存放与Nginx服务器核心配置相分离的其他配置片段,比如虚拟主机的默认配置、第三方模块的配置等。这样的设计使得配置管理更加灵活和模块化。
include /etc/nginx/sites-enabled/*;
类似地,这行代码指示Nginx包含 /etc/nginx/sites-enabled/
目录下的所有文件。这个目录传统上用于存放网站的配置文件,尤其是当服务器需要管理多个网站(虚拟主机)时。通过在该目录中符号链接到 /etc/nginx/sites-available/
中的实际配置文件,可以方便地启用或禁用不同的站点配置,而无需直接修改Nginx的主配置文件。
进入/etc/nginx/conf.d 目录下
新建default.conf,作为默认配置文件
server {
#监听443端口,并使用SSL/TLS进行加密通信
listen 443 ssl;
#监听服务器名称,一般填写域名
server_name **;
#证书位置
ssl_certificate /etc/nginx/cert/**_bundle.pem;
ssl_certificate_key /etc/nginx/cert/**.key;
#error_page 404 /404.html;
#错误跳转页面
error_page 500 502 503 504 /50x.html;
#默认跳转页面,这个是安装成功后跳转的目录
location = /50x.html {
root /usr/share/nginx/html;
}
}
校验
应用修改
sudo nginx -s reload
访问测试