良许Linux教程网 干货合集 如何让你的网站更安全?Nginx 服务器开启 SSL 的完整指南

如何让你的网站更安全?Nginx 服务器开启 SSL 的完整指南

网站安全是每个网站管理者都应该重视的问题,特别是涉及到用户隐私信息和敏感数据的网站。如果你想让你的网站更安全,更受用户和搜索引擎的信任,那么你需要给你的网站安装 SSL 证书,并使用 HTTPS 协议来传输数据。但是,如何在 Linux 上配置 Nginx 服务器开启 SSL 功能呢?本文将为你提供一份完整的指南,教你如何购买、准备、串联、生成和修改 SSL 证书,以及如何在 Nginx 配置文件中设置相关参数,让你的网站从 HTTP 升级到 HTTPS。

Nginx 服务器开启 SSLNginx 服务器开启 SSL
Nginx 服务器开启 SSLNginx 服务器开启 SSL

购买 SSL 证书

既然要加密提高网站安全级别,那么选择一款性价比合适的 SSL 在所难免。SSL 证书购买途径有很多,也有一些是免费的,试过一些免费 SSL 证书但觉得续签麻烦,不太稳定,也不安全。国内 CA 机构 CFCA 中国金融认证中心 SSL 产品研发负责人也表示:网站管理人员及 CA 机构都应对免费证书持谨慎态度。因为付费的也不是很贵,就选了比较常用的 Comodo PositiveSSL,在 gogetssl 买比官网便宜不少。
Nginx 服务器开启 SSLNginx 服务器开启 SSL

我们以 gogetssl 家的 Comodo PositiveSSL 证书为例,记录 Nginx 配置安装 ssl 证书的过程,具体原理就不说了。

准备证书

首先需要购买证书,Comodo PositiveSSL,三年只要 9.65 美金。
Nginx 服务器开启 SSLNginx 服务器开启 SSL

购买完成后,邮件会得到几封邮件,其中包含 key 代码、证书压缩包等附件,解压之会得到 4 个文件。AddTrustExternalCARoot.crt、COMODORSAAddTrustCA.crt、COMODORSADomainValidationSecureServerCA.crt、www_91zll_net.crt,这就是我们要用到的证书了。
Nginx 服务器开启 SSLNginx 服务器开启 SSL

串联证书

执行合并命令生成新文件 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”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部