现在的位置:首页>空间域名>正文

https A+在nginx下的配置方法

2016年11月14日 ⁄ 共 3638字 评论 2 条

要使用HTTPS,那么就必须要有HTTPS证书,现在互联网上有免费的证书,也有很多非常便宜的证书,这里就不详细介绍了,大家自行搜索~~~ 重要的是,有了 SSL 证书之后要怎么配置 nginx 服务器才能足够安全,QUALYS SSL Labs 提供了对服务器 https 安全级别的测试,在这个测试中达到 A 级以上基本就可以认为是足够安全的。

1、生成 dhparam.pem(生成时间比较长,要耐心等待):

  1. openssl dhparam -out dhparam.pem 4096

2、协议和 ciphers 选择,ciphers 的选择比较关键,这个配置中的 ciphers 支持大多数浏览器,但不支持 XP/IE6,这一点大家一定要注意。

  1. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  2. ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA";
  3. ssl_prefer_server_ciphers on;

3.接下来是ssl session 配置

  1. ssl_session_cache shared:SSL:10m;
  2. ssl_session_timeout 10m;

4.HSTS 配置,这个对评分影响也比较大,但如果开启这个,需要全站开启 HTTPS

  1. add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

下面贴出一张完整的配置文件,如下图:

  1. server {
  2.   listen      80;
  3.   server_name    www.mfbuluo.com mfbuluo.com;
  4.   return      301 https://$server_name$request_uri;
  5. }
  6. server
  7.     {
  8.         listen       443;
  9.         server_name mfbuluo.com www.mfbuluo.com;
  10.                 ssl on;
  11.                 ssl_certificate /home/ssl/mfbuluo_com.crt;
  12.                 ssl_certificate_key /home/ssl/mfbuluo_com.key;
  13.                 ssl_dhparam /home/ssl/dhparam.pem;
  14.                 ssl_session_cache shared:SSL:10m;
  15.                 ssl_session_timeout 10m;
  16.                 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  17.                 ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA";
  18.                 ssl_prefer_server_ciphers on;
  19.                 add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
  20.         if ($host != 'www.jiasu.cloud' ) {
  21.         rewrite ^/(.*)$ https://www.mfbuluo.com/$1 permanent;
  22.         }
  23.         index index.html index.htm index.php default.html default.htm default.php;
  24.         root  /home/wwwroot/abccom;
  25.         include none.conf;
  26.                 location ~ [^/]\.php(/|$)
  27.                         {
  28.                                 # comment try_files $uri =404; to enable pathinfo
  29.                                 try_files $uri =404;
  30.                                 fastcgi_pass  unix:/tmp/php-cgi.sock;
  31.                                 fastcgi_index index.php;
  32.                                 include fastcgi.conf;
  33.                                 #include pathinfo.conf;
  34.                         }
  35.                 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  36.                         {
  37.                                 expires      30d;
  38.                         }
  39.                 location ~ .*\.(js|css)?$
  40.                         {
  41.                                 expires      12h;
  42.                         }
  43.                 access_log off;
  44. }

配置完成后,可以在这里测试:由此直达

最终的测度效果如下图:

https A+在nginx下的配置方法

 

 

小结

文章部分内容来源自网络,由免费部落整理发布。

这个也只是部落个人收集的,免得以后要将网站进行https升级时出现不正常时有据可查。当然,估计还是会有不少站长,在SSL这一块上用得这些。

评论 2 条 评论内容很精采,有内幕,而且绝对有干货

  1. zzbiji 2016年11月17日 08:31  @回复  Δ-49楼 回复

    需要数据交换的网站使用SSL证书还是不错的,不过对于个人站使用SSL也是累赘,而且要改很多链接。。。。。。。随便问下,部落的代码高亮挺漂亮的,是插件还是自己写的?


    • 管理员
      管理员 2016年11月17日 10:41  @回复  ∇地下1层 回复

      SSL是行业趋势,代码高亮的代码实现的,我的网站中有介绍过。

给我留言