HSTS安排
HSTS策略只能在HTTPS响应中进行设置,网站必须应用默认的443端口;必须应用域名,不克不及是IP。是以须要把HTTP重定向到HTTPS,如不雅明文响应中许可设置HSTS头,中心人进击者就可以经由过程在通俗站点中注入HSTS信息来履行DoS进击。
Apache上启用HSTS
重启Apache办事
Nginx上启用HSTS
- $ vim /etc/nginx/conf.d/hi-linux.conf
- server {
- listen 443 ssl;
- server_name www.hi-linux.com;
- add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
- ...
- }
- server {
- listen 80;
- server_name www.hi-linux.com;
- return 301 https://www.hi-linux.com$request_uri;
- ...
- }
经由过程Chrome的 chrome://net-internals/#hsts 对象,可以萌芽某个网站是否在Preload List之中,还可以手动把某个域名加到本机Preload List。
重启Nginx办事
- $ service nginx restart
IIS启用HSTS
要在IIS上启用HSTS须要用到第三方模块,具体可参考: https://hstsiis.codeplex.com/
测试设置是否成功
- $ vim /etc/apache2/sites-available/hi-linux.conf
- # 开启HSTS须要启用headers模块
- LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
- <VirtualHost *:80>
- ServerName www.hi-linux.com
- ServerAlias hi-linux.com
- ...
- #将所有拜访者重定向到HTTPS,解决HSTS初次拜访问题。
- RedirectPermanent / https://www.hi-linux.com/
- </VirtualHost>
- <VirtualHost 0.0.0.0:443>
- ...
- # 启用HTTP严格传输安然
- Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
- ...
- </VirtualHost>
设置完成了后,可以用 curl 敕令验证下是否设置成功。如不雅出来的结不雅中含有 Strict-Transport-Security 的字段,那么解释设置成功了。
- $ curl -I https://www.hi-linux.com
- HTTP/1.1 200 OK
- Server: nginx
- Date: Sat, 27 May 2017 03:52:19 GMT
- Content-Type: text/html; charset=utf-8
- ...
- Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
- X-Frame-Options: deny
- X-XSS-Protection: 1; mode=block
- X-Content-Type-Options: nosniff
- ...
对于 HSTS 以及 HSTS Preload List ,建议是只要不克不及确保永远供给HTTPS办事,就不要启用。因为一旦HSTS生效,之前的老用户在 max-age 过时前都邑重定向到HTTPS,造成网站不克不及精确拜访。独一的办法是换新域名。
【编辑推荐】
- android httpClient 支撑HTTPS的拜访方法
- 斯坦福iOS7公开课11标记及演示Demo&拜访HTTPS链接下载数据
- HTTPS马脚导致1500项iOS应用存在安然隐患
- iOS AFNetworking框架HTTPS请求设备
- HTTPS 道理浅析及其在 Android 中的应用
推荐阅读
数字化转型的海潮正滚滚而来,金融业天然不克不及置身事外。那么,等待银行的毕竟是什么呢?“跟着行业竞争的加剧,金融营业将越来越多地由客户本身以及平台决定,而不是银行;应用人工>>>详细阅读
地址:http://www.17bianji.com/lsqh/35612.html
1/2 1