作家
登录

开启HSTS让浏览器强制跳转HTTPS访问

作者: 来源: 2017-06-07 13:03:48 阅读 我要评论

HSTS安排

HSTS策略只能在HTTPS响应中进行设置,网站必须应用默认的443端口;必须应用域名,不克不及是IP。是以须要把HTTP重定向到HTTPS,如不雅明文响应中许可设置HSTS头,中心人进击者就可以经由过程在通俗站点中注入HSTS信息来履行DoS进击。

Apache上启用HSTS

重启Apache办事

Nginx上启用HSTS

  1. $ vim /etc/nginx/conf.d/hi-linux.conf 
  2.  
  3. server { 
  4.    listen 443 ssl; 
  5.    server_name www.hi-linux.com; 
  6.    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
  7. ... 
  8.  
  9. server { 
  10.    listen 80; 
  11.    server_name www.hi-linux.com; 
  12.    return 301 https://www.hi-linux.com$request_uri; 
  13. ... 

经由过程Chrome的 chrome://net-internals/#hsts 对象,可以萌芽某个网站是否在Preload List之中,还可以手动把某个域名加到本机Preload List。

重启Nginx办事

  1. $ service nginx restart 

IIS启用HSTS

要在IIS上启用HSTS须要用到第三方模块,具体可参考: https://hstsiis.codeplex.com/

测试设置是否成功

  1. $ vim /etc/apache2/sites-available/hi-linux.conf 
  2.  
  3. # 开启HSTS须要启用headers模块 
  4. LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so 
  5.  
  6. <VirtualHost *:80> 
  7.   ServerName www.hi-linux.com 
  8.   ServerAlias hi-linux.com 
  9. ... 
  10.  #将所有拜访者重定向到HTTPS,解决HSTS初次拜访问题。 
  11.   RedirectPermanent / https://www.hi-linux.com/ 
  12. </VirtualHost> 
  13.  
  14. <VirtualHost 0.0.0.0:443> 
  15. ... 
  16. # 启用HTTP严格传输安然 
  17.   Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" 
  18. ... 
  19. </VirtualHost> 

设置完成了后,可以用 curl 敕令验证下是否设置成功。如不雅出来的结不雅中含有 Strict-Transport-Security 的字段,那么解释设置成功了。

  1. $ curl -I https://www.hi-linux.com 
  2. HTTP/1.1 200 OK 
  3. Server: nginx 
  4. Date: Sat, 27 May 2017 03:52:19 GMT 
  5. Content-Type: text/html; charset=utf-8 
  6. ... 
  7. Strict-Transport-Security: max-age=63072000; includeSubDomains; preload 
  8. X-Frame-Options: deny 
  9. X-XSS-Protection: 1; mode=block 
  10. X-Content-Type-Options: nosniff 
  11. ... 

对于 HSTS 以及 HSTS Preload List ,建议是只要不克不及确保永远供给HTTPS办事,就不要启用。因为一旦HSTS生效,之前的老用户在 max-age 过时前都邑重定向到HTTPS,造成网站不克不及精确拜访。独一的办法是换新域名。

【编辑推荐】

  1. android httpClient 支撑HTTPS的拜访方法
  2. 斯坦福iOS7公开课11标记及演示Demo&拜访HTTPS链接下载数据
  3. HTTPS马脚导致1500项iOS应用存在安然隐患
  4. iOS AFNetworking框架HTTPS请求设备
  5. HTTPS 道理浅析及其在 Android 中的应用
【义务编辑:51CTO_OS TEL:(010)68476606】

  推荐阅读

  数字化浪潮下,银行将转型为技术公司?

数字化转型的海潮正滚滚而来,金融业天然不克不及置身事外。那么,等待银行的毕竟是什么呢?“跟着行业竞争的加剧,金融营业将越来越多地由客户本身以及平台决定,而不是银行;应用人工>>>详细阅读


本文标题:开启HSTS让浏览器强制跳转HTTPS访问

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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