网站安全是每个网站管理者都应该重视的问题,特别是涉及到用户隐私信息和敏感数据的网站。如果你想让你的网站更安全,更受用户和搜索引擎的信任,那么你需要给你的网站安装 SSL 证书,并使用 HTTPS 协议来传输数据。但是,如何在 Linux 上配置 Nginx 服务器开启 SSL 功能呢?本文将为你提供一份完整的指南,教你如何购买、准备、串联、生成和修改 SSL 证书,以及如何在 Nginx 配置文件中设置相关参数,让你的网站从 HTTP 升级到 HTTPS。
购买 SSL 证书
既然要加密提高网站安全级别,那么选择一款性价比合适的 SSL 在所难免。SSL 证书购买途径有很多,也有一些是免费的,试过一些免费 SSL 证书但觉得续签麻烦,不太稳定,也不安全。国内 CA 机构 CFCA 中国金融认证中心 SSL 产品研发负责人也表示:网站管理人员及 CA 机构都应对免费证书持谨慎态度。因为付费的也不是很贵,就选了比较常用的 Comodo PositiveSSL,在 gogetssl 买比官网便宜不少。
我们以 gogetssl 家的 Comodo PositiveSSL 证书为例,记录 Nginx 配置安装 ssl 证书的过程,具体原理就不说了。
准备证书
首先需要购买证书,Comodo PositiveSSL,三年只要 9.65 美金。
购买完成后,邮件会得到几封邮件,其中包含 key 代码、证书压缩包等附件,解压之会得到 4 个文件。AddTrustExternalCARoot.crt、COMODORSAAddTrustCA.crt、COMODORSADomainValidationSecureServerCA.crt、www_91zll_net.crt,这就是我们要用到的证书了。
串联证书
执行合并命令生成新文件 ssl-bundle.crt
cat www_91zll_net.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt
AddTrustExternalCARoot.crt > ssl-bundle.crt
生成私钥
将刚才gogetssl 发的邮件里的 key 代码,即 —–BEGIN PRIVATE KEY—– 和 —–END PRIVATE KEY—– 之间的代码(包含这两行)复制保存为 91zll_net.key 文件。利用 KEY私钥格式转换工具 来进行转换一下,从PKCS8 Key 转换为 RSA Key。
创建一个证书存放路径
mkdir -p /etc/ssl/private/
将前面生成的 91zll_net.key 和 ssl-bundle.crt 上传服务器,一般放在 /etc/ssl/private/ 目录下。
修改 Nginx 配置
下面是我 nginx 关于 ssl 部分的配置,因为要全局使用 https,故将 80 端口重定向到 https 下。
server {
listen 80;
server_name 91zll.ne www.91zll.net
location / {
rewrite (.*) https://www.91zll.net$1 permanent;
}
}
server {
listen 443 ssl;
server_name 91zll.net www.91zll.net;
ssl on;
ssl_certificate /etc/ssl/private/ssl-bundle.crt;
ssl_certificate_key /etc/ssl/private/91zll_net.key;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-
GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-
RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-
AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-
SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-
SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
}
具体参数的含义就不多说了,请自行google。使用前先测试一下。
nginx -t
检测没问题后,重启 nginx
service nginx restart
通过本文的介绍,你应该已经掌握了如何在 Linux 上配置 Nginx 服务器开启 SSL 功能的方法。只要按照本文的步骤操作,你就可以给你的网站增加一层安全保障,提高用户体验和搜索排名。当然,本文只是一个简单的示例,你还可以根据你自己的需求和环境进行更多的调整和优化。以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !