Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk membolehkan SSL dalam Nginx

Bagaimana untuk membolehkan SSL dalam Nginx

WBOY
WBOYke hadapan
2023-05-12 10:13:231673semak imbas

Bagaimana untuk membolehkan SSL dalam Nginx

购买 SSL 证书

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

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

准备证书

首先需要购买证书,Comodo PositiveSSL,三年只要 9.65 美金。 Bagaimana untuk membolehkan SSL dalam Nginx

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

串联证书

执行合并命令生成新文件 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

Atas ialah kandungan terperinci Bagaimana untuk membolehkan SSL dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam