Nginx之SSL证书配置

今天把域名解析到服务器上,并在阿里云申请了免费的SSL证书,上线配置好了SSL之后,发现用谷歌浏览器访问还是提示不安全链接,随后查了一些资料,说明一下可能会存在的问题。

1、网页中存在一些静态文件的非安全链接,比如js、css、img还在使用http,这个需要自己排查一下;

2、第二个可能存在的问题就是配置的SSL有一些问题,比如加密模式或者加密协议配置有问题,可以用SSL检测工具测试一下。

SSL检测工具推荐:https://sslzoo.com/sslcheck/

增强nginx的SSL安全性:https://www.sslzoo.com/112?show=112#q112


Nginx SSL配置范例

server {
  listen [::]:443 default_server;
  ssl on;
  ssl_certificate_key /etc/ssl/cert/raymii_org.pem;
  ssl_certificate /etc/ssl/cert/ca-bundle.pem;
  
  ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_session_cache shared:SSL:10m;
  
  ssl_stapling on;
  ssl_stapling_verify on;
  
  resolver 8.8.4.4 8.8.8.8 valid=300s;
  resolver_timeout 10s;
  ssl_prefer_server_ciphers on;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;
  
  add_header Strict-Transport-Security max-age=63072000;
  add_header X-Frame-Options DENY;
  add_header X-Content-Type-Options nosniff;
  
  root /var/www/;
  index index.html index.htm;
  server_name raymii.org;
}


向后兼容的推荐的加密套件(IE6/WinXP):

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";