作家
登录

全站HTTPS没你想象的那么简单

作者: 来源: 2017-08-09 17:03:24 阅读 我要评论

  •  
  • <img src=http://developer.51cto.com/art/201708/"//domain.com/img/logo.png"
  • 或者代码自行断定都可以。如不雅一个页面内包含多个域名请求,需所有域名均支撑https,不然部分浏览器会有警告提示或打不开。

    3、移动端适配 HTTPS

    如不雅你们存在移动客户端(APP)也须要适配 HTTPS,所以必须做调用接口的响应修改,当然,要留意运营商 DNS 劫持(尤其是移动)也会对 HTTPS 请求成功率造成很大年夜影响,其实可以做好 HTTP/HTTPS 两种协定都支撑,做好出问题随时动态降级切换预备。

    4、项目中存在的设备问题

    项目顶用到的设备文件中存在 HTTP 链接,要充分懂得其用处。如不雅不是可以同一犊飕更新的设备文件,都要推敲更改后做办事的宣布,这时刻要来推敲对生成情况营业的影响以及测试、开辟情况的影响等问题。如页面间跳转、权限、登录验证、第三方办事(付出、推送)回调这些设备等。

    5、关于 request.getScheme() 这个坑

    如不雅你的架构上应用了 Nginx + Tomcat 集群, 且 Nginx 下设备了 SSL ,Tomcat 没有设备 SSL ,这时刻其实客户端已经是应用 HTTPS 协定了,但你的 Tomcat 顶用 request.getScheme()、request.getRequestURL() 会获取到的是 HTTP,并不是 HTTPS 。当然可以代码中避免,或者经由过程设备 Nginx 和 Tomcat 解决,看这篇文┞仿:http://www.cnblogs.com/interdrp/p/4881785.html

    6、SSL 证书类型

    在之前说选购 SSL 证书的时刻,你就要充分推敲营业上域名须要的证书类型,避免须要泛域名证书而你买了荡竽暌跪名证书,当然泛域名证书照样分为支撑级其余,如购买 *.example.com 证书,那么该证书支撑 a.example.com, a1.example.com, a2.example.com 以词攀类推域名,然则不支撑 b.a.example.com(另一级), b1.a.example.com 类域名,如需支撑,需别的再购买一张 *.a.example.com 证书。

    7、Nginx 设备同一个 server 段不支撑设备多个证书

    8、Nginx 设备 HTTP 强迫跳转 HTTPS

    经由过程设备 Nginx 域名 HTTP 请求 302 跳转实现全站 HTTPS。切切不克不及有 POST 请求,这时刻浏览器会先做 302 跳转,在以 Get 办法请求会导致 Post Body 损掉。

    具体设备如下:

    1. server {    
    2.     listen 80;    
    3.     listen 443 ssl;    
    4.     server_name  www.domain.com;    
    5.  
    6.     ssl on;    
    7.     ssl_certificate 1_www.domain.com_bundle.crt;    
    8.     ssl_certificate_key 2_www.domain.com.key;    
    9.     ssl_session_timeout  5m;    
    10.     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    
    11.     ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;    
    12.     ssl_prefer_server_ciphers  on;    
    13.  
    14.     if ($scheme != 'https') {    
    15.     rewrite ^(.*)$  https://$server_name$1 permanent;    
    16.     }    
    17.  
    18.     location / {    
    19.         root   html;    
    20.         index  index.html index.htm;    
    21.     }    

    不仅仅要推敲生成情况进行全站 HTTPS 进级问题,包含开辟、测试、预宣布等多种不合情况均要进行进级,来保持与临盆情况的一致性,减小弗成预估身分的产生。如不雅你没有完美的运维体系,一个个设备文件改的可是真的很苦楚,你尝尝想想看上百个设备,泪...

    10、打逝世你都想不到的处所

    太多了,自由发挥吧。做到兵来将挡水来土掩,佛来斩佛,魔来斩魔就行了。

    不知道这一篇算不算所谓的「干货」了,如今很多多少人都喊着要所谓的干货,其实哪有那么多干货阿。这一篇重要写了一下在全站进级 HTTPS 的过程与留意点,几乎都是在实际工作慢慢调的重现了,当然,进级完成我们照样须要半数个体系进行机能、速度的测试,以及若何更好的应用 HTTPS ,比瘸老 HTTP 2.0 ,据说晋升很大年夜的。


      推荐阅读

      实例分析MySQL下的四种事务隔离级别

    数据库事务有四种隔离级别: 未提交读(Read Uncommitted):许可脏读,也就是可能攫取到其他会话中未提交事务修改的数据。 提交读(Read Committed):只能攫取到已经提交的数据,Orac>>>详细阅读


    本文标题:全站HTTPS没你想象的那么简单

    地址:http://www.17bianji.com/lsqh/36625.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)