Nginx服务器证书部署

依赖建议
l SSL卸载驱动。建议:openssl版本1.1.0f+。
l nginx版本Stable version:最新稳定版,生产环境上建议使用的版本。
获取证书
- MPKI方式:
1. 登录https://mpki.trustasia.com。
2. 证书下载pem(nginx SLB)格式,会得到一个zip的压缩包,解压后有两个文件,分别是crt和key后缀。
- 非MPKI方式:
1. CSR对应的key文件
2. 证书邮件里提取代码,把-----BEGIN CERTIFICATE-----到-----END CERTIFICATE-----(包括开头和结尾,不用换行)复制到txt文本文件里,然后保存为crt后缀;这样也就获取到nginx用的2个文件了。
SSL相关配置
到nginx的conf目录,找到nginx.conf文件,修改或者配置这样一段
server { listen 80 default_server; listen [::]:80 default_server; # 强制跳转 return 301 https://$host$request_uri;} server { listen 443 ssl http2; listen [::]:443 ssl http2; #IPv6支持 #RSA证书 ssl_certificate /xxx/xx/rsa.pem; ssl_certificate_key /xxx/xx/rsa.key; #ECC证书,可选,需要1.11版本支持 ssl_certificate /xxx/xx/ecc.pem;; ssl_certificate_key /xxx/xx/ecc.key;; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; # A+级配置. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; ssl_prefer_server_ciphers on; # HSTS (需要编译带ngx_http_headers_module模块) (15768000 秒= 6 月) add_header Strict-Transport-Security max-age=15768000; # OCSP Stapling 装订 ssl_stapling on; ssl_stapling_verify on;}
下面为配置文件参数说明:
listen 443
SSL访问端口号为443
ssl on
启用SSL功能
ssl_certificate
证书文件server.crt
ssl_certificate_key
私钥文件server.pem
ssl_protocols
使用的协议
ssl_ciphers
配置加密套件,写法遵循openssl标准
配置完成后,先用sbin/nginx –t来测试下配置是否有误,正确无误的话,建议重启nginx。
http跳转https(建议而非强制)
对于用户,不是不知道https,就是知道https也因为懒,不愿意输入https。这样就有一个需求,让服务器自动把http的请求重定向到https。
在服务器这边的话配置的话,可以在页面里加js脚本,也可以在后端程序里写重定向,当然也可以在web服务器来实现跳转。Nginx是支持rewrite的(只要在编译的时候没有去掉pcre)
在http的server里
增加
return 301 https://$host$request_uri;
或者
rewrite ^(.*) https://$host$1 permanent;
这样就可以实现80进来的请求,重定向为https了。
检测
https的端口没做限制后(防火墙放行,端口转发正常),到https://myssl.com进行检测
评级达到B以上,在安全和兼容方面是较不错的。
-
多域名SSL证书能保护多少个域名?
多域名SSL证书(也称为SAN证书)可以保护多个域名,其保护域名的数量上限通常为250个。然而,具体数量可能因证书品牌和购买配置的不同而有所差异。以下是对多域名SSL证书保护域名数量的详细分析:一、一
-
Let’s Encrypt将在2025年6月停用证书到期邮件通知
免费数字证书颁发机构 Let’s Encrypt 日前宣布重大决定:自 2025 年 6 月 4 日起不再通知用户证书即将到期并需要续订,也就是后续不再发送任何电子邮件通知。对某些托管服务商和用户来说
-
Nginx环境安装SSL数字证书教程
Nginx安装SSL证书需要,FullSSL.crt和SSL.key文件1.将证书文件放到网站根目录将FullSSL.crt和SSL.key文件上传到网站根目录,新建一个文件夹放进去2.首先我们用编辑
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 乌克兰黑客渗透到俄罗斯网络提供商Nodex后将其所有数据全部清空
- 数字孪生的安全挑战和机遇
- 被 Google 裁掉的 Golden 12K:开源开发者成重灾区,61 岁再求职!
- 微软年中审核了,国内企业能从中学到什么?
- 在看|一周网安回顾(2022.2.12-2022.2.18)
- Android Linker详解
- 寻找千里马!首届“工业互联网+数字仿真”专业赛召集报名
- Google 尝试在 Chrome 中使用 Rust
- 特斯拉开放 FSD 测试版软件,马斯克表示:有条件才能用!
- 程序员拒带电脑回家被开除获赔 19.4 万;库克称,很多功能来自中国消费者反馈;谷歌开源1.6万亿参数语言模型 | 极客头条
- 全屋千兆Wi-Fi 6覆盖,从未如此简单
- SSL证书私钥泄露会怎么样?可能造成财产损失等严重后果