跳到主要内容

1. SSL证书官方介绍

SSL(安全套接层)证书是一种数字证书,用于在互联网上建立安全连接。它们通过加密数据传输来确保信息的安全性和完整性。SSL证书是由经过认证的证书颁发机构(CA)签发的,用于验证网站身份,并为网站和其访问者之间的通信提供加密保护。

SSL证书的主要作用包括:

  1. 身份验证:SSL证书确认网站的身份。这确保了访问者正在与期望的网站进行通信,而不是被中间人攻击的网站。

  2. 数据加密:SSL证书使用加密算法对数据进行加密,使其在传输过程中无法被窃取或篡改。这对于保护用户的敏感信息(如个人资料、信用卡号码等)至关重要。

  3. 完整性保护:SSL证书还提供了数据完整性保护。它们通过使用消息摘要算法(如SHA-256)来确保传输的数据在传输过程中未被篡改。

SSL证书通常包含以下信息:

  • 证书持有者的名称和地址
  • 证书颁发机构的名称
  • 证书有效期限
  • 公钥
  • 证书的数字签名

常见的SSL证书类型包括单域名证书(用于单个域名)、多域名证书(用于多个域名)、通配符证书(用于一个主域名及其所有子域名)等。

通过使用SSL证书,网站可以增强其安全性,建立用户信任,并遵守数据保护法规和标准。

2. SSL证书直观感受

2.1 没安装SSL证书之前

如下图,如果我直接访问: www.chengxuyuancd.com, 则会看到地址栏左侧显示:'Not Secure'或者说不安全 SSL证书直观理解

2.1 安装SSL证书之后

安装SSL证书之后

3. 如何安装

  • 首先去你域名的服务器上申请免费的SSL或者购买正式的SSL证书(正式的太贵。。几千块一年,买不起买不起),但需要注意,免费的证书从2024年4月起一般都是只有三个月了,三个月到期后需要重复下这个步骤
  • 每个域名服务商不太一致,先介绍下腾讯云的,其他的后续补充

3.1 腾讯云申请SSL证书

在控制台搜索SSL,找到'SSL 证书/我的证书'

SSL 证书/我的证书 申请免费证书 接着点击 '申请免费证书'

申请免费证书 在弹出的窗口中继续接着点击 '申请免费证书'

在弹出的窗口中,我们输入我们购买的域名,比如这里我输入:chengxuyuancd.com

后面如果域名是在腾讯云购买的,则会直接帮你选择 '自动DNS验证', 其他两种验证方式也比较简单

接着输入你的申请邮箱

最后提交申请,然后等待审核通过即可

申请通过后即可看到多了一条记录: 申请SSL证书成功

3.2 配置SSL证书

点击刚申请成功的记录的最后一个'下载'按钮 下载

在弹出的窗口中会让你选择何种类型的证书,需要根据你服务器的种类来决定,我这里提供两种

3.2.1 Apache

Apache证书

下载的是一个zip压缩包,解压缩之后出现几个文件:

Apache证书压缩包

  • 然后把相应的证书拷贝到服务器相应的目录下:

    • scp -i qq_2he_2G_1year_22_04_05 ~/Downloads/chengxuyuancd.com_apache/root_bundle.crt [root@](mailto:root@101.35.232.5)xxx:/opt/lampp/etc
    • scp -i qq_2he_2G_1year_22_04_05 ~/Downloads/chengxuyuancd.com_apache/chengxuyuancd.com.crt [root@](mailto:root@101.35.232.5)xxxx:/opt/lampp/etc/ssl.crt/
    • scp -i qq_2he_2G_1year_22_04_05 ~/Downloads/chengxuyuancd.com_apache/chengxuyuancd.com.key [root@](mailto:root@101.35.232.5)xxxx:/opt/lampp/etc/ssl.key/
  • 修改文件sudo vi /opt/lampp/etc/extra/httpd-ssl.conf

SSLCertificateFile "/opt/lampp/etc/ssl.crt/chengxuyuancd.com.crt"
SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/chengxuyuancd.com.key"
SSLCertificateChainFile "/opt/lampp/etc/root_bundle.crt"
  • 重启
    • sudo /opt/lampp/lampp restart

再次访问我们的网址就会发现没有不安全的警告啦: Apache证书配置成功

3.2.2 Nginx

也可以参考官方教程:https://cloud.tencent.com/document/product/400/35244?from_cn_redirect=1

Nginx证书

下载成功解压后得到: Nginx证书解压

通过运行命令: nginx -t 找到nginx配置文件的路径为: /etc/ngnix/ 找到nginx配置文件的位置

通过scp命令上传两个文件到上面的路径:

scp -i /Users/jie.xu/secrets/tengxunyun/qq_2he_2G_1year_22_04_05 ~/Downloads/chengxuyuancd.com_nginx/chengxuyuancd.com_bundle.crt root@101.35.232.5:/etc/nginx/


scp -i /Users/jie.xu/secrets/tengxunyun/qq_2he_2G_1year_22_04_05 ~/Downloads/chengxuyuancd.com_nginx/chengxuyuancd.com.key root@101.35.232.5:/etc/nginx/

按官方教程将之前被注释掉的ssl部分按下面的格式改一下: vi /etc/nginx/nginx.conf:

    server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name _;
root /usr/share/nginx/html;

ssl_certificate "/etc/nginx/chengxuyuancd.com_bundle.crt";
ssl_certificate_key "/etc/nginx/chengxuyuancd.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

  • 重新启动nginx:

nginx -s reload

将会看到上面同样的效果