在这个数字时代,网站的安全性至关重要。SSL证书是确保我们的网站数据安全的关键工具。在本文我们将学习如何在Nginx服务器上配置腾讯云提供的免费SSL证书。
准备工作
在开始之前,请确保我们具备以下条件:
- 一个Nginx服务器实例。
- 已注册的域名。
- 腾讯云账户(用于申请免费SSL证书)。
下载并准备SSL证书
- 登录腾讯云控制台,申请免费SSL证书。
- 完成验证过程后,下载证书。选择“Nginx”作为服务器类型。
- 下载后,我们将获得一个包含证书文件的zip压缩包。
配置Nginx服务器
上传并解压证书
通过SSH连接到我们的Nginx服务器。
切换到Nginx的配置目录:
bashcd /usr/local/nginx/conf
使用SFTP或其他工具上传证书压缩包到该目录。
解压压缩包:
bashunzip cengxuyuan.cn_nginx.zip
解压后,我们将看到一个包含证书和私钥文件的目录,里面有
cengxuyuan.cn_bundle.crt
证书文件cengxuyuan.cn_bundle.pem
证书文件cengxuyuan.cn.key
私钥文件cengxuyuan.cn.csr
CSR 文件
重命名目录为
cert
bashmv cengxuyuan.cn_nginx cert
修改Nginx配置
总体思路是将原有的80端口服务器配置更改为443,然后在80端口创建一个新的服务器配置,用于将所有HTTP请求自动重定向到安全的HTTPS连接。
备份原始的
nginx.conf
文件:bashcp nginx.conf nginx.conf.bak
编辑
nginx.conf
文件,进行以下修改:将原有的80端口改为监听端口443。
在443端口的server配置中,添加SSL证书和私钥的路径。主要是在443端口加了使用SSL/TLS加密,使用相对路径(以
/
开头为绝对路径)配置了ssl_certificate
和ssl_certificate_key
,其余的ssl配置可以照搬。查看代码
nginxserver { listen 443 ssl; server_name cengxuyuan.cn; ssl_certificate cert/cengxuyuan.cn_bundle.pem; ssl_certificate_key cert/cengxuyuan.cn.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #.. 原有的 }
新增一个80端口的server配置,用于将HTTP请求重定向到HTTPS。
nginxserver { listen 80; server_name cengxuyuan.cn; return 301 https://$host$request_uri; }
测试配置文件:
bash../sbin/nginx -t
如果测试成功,重启Nginx:
bash../sbin/nginx -s reload
安全配置
- 在服务器安全组中放行443端口。
- 配置系统防火墙以允许443端口的流量。
使用HTTPS访问
配置完成后,我们现在可以通过HTTPS协议访问我们的网站。