Nginx服务器证书部署

教程 作者:技术栈 2021-05-11 17:55:24 阅读:1433

依赖建议

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以上,在安全和兼容方面是较不错的。


延伸阅读
  • IIS服务器证书部署

    环境说明建议使用IIS8(支持SNI),一个站点一个端口允许同时部署多张证书。Win7,server 2008 r2 ,win8 ,win2012系统上关于加密套件的补丁https://technet

  • 为什么需要使用SSL服务器证书?

    随着互联网日益发展,新型的网络生活渐入人们的日常生活,网络购物,游戏娱乐,工作办公等等,那么问题也随之产生,使用互联网的同时,如何能保障重要信息呢?于是SSL应运而生,SSL证书就是用于保证信息安全的

  • 注册后没有收到邮件怎么办?

    ID注册成功后没有收到邮件,有可能是由于邮件在传递过程中丢失或被用户的邮箱当成垃圾邮件过滤。您可以在垃圾邮件中查找,或者修改邮箱过滤设置。如果邮箱还是没有查询到邮件,您可以通过以下方式重新发送确认邮件

在线申请SSL证书行业最低 =>立即申请

[广告]赞助链接:

关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注KnowSafe微信公众号
随时掌握互联网精彩
赞助链接