#需求
公司监控页面(elk、zabbix、what’s up等)需要做轮询展示,让前端同事写了个浏览器轮询页面。
问题:
多数页面都能成功加载,唯独what’s up页面(网络设备监控软件页面)无法加载;报错信息如下:
#X-Frame-Options知识:
X-Frame-Options 是HTTP响应头用来给浏览器指示,是否允许页面在(iframe或frame或object)中显示的标记。
参数值有3个:
DENY --- 表示页面不允许在frame中展示,相同域名的页面中嵌套也不允许。
SAMEORIGIN --- 表示页面可以在相同域名页面的frame中展示。
ALLOW-FROM --- 表示页面可以在指定来源的frame中展示。
# X-Frame-Options运维 应用场景1(防护)
防止网页被Frame
场景:当开发人员在页面中没有加X-Frame-Options信息返回头部,运维可以帮忙。
思路:nginx和haproxy做负载均衡(七层代理),在返回头中添加SAMEORIGIN信息
nginx
需安装 headers-more-nginx-module模块
#安装
wget http://nginx.org/download/nginx-1.12.2.tar.gz
wget https://github.com/openresty/headers-more-nginx-module/archive/v0.33.tar.gz
tar xf *.gz
yum install -y gcc gcc-c++ make openssl-devel pcre-devel
./configure --prefix=/usr/local/newhope/nginx/ --add-module=/home/newhope/headers-more-nginx-module-0.33/
make
make install
#server 或location配置
more_set_headers X-Frame-options SAMEORIGIN;
haproxy
#backend 配置
rspadd X-Frame-Options:\ SAMEORIGINM;
# X-Frame-Options运维 应用场景2(加载页面)
也就是解决下面问题
思路:nginx和haproxy做负载均衡(七层代理),在返回header中删除X-Frame-Options 信息
nginx
more_clear_headers "X-Frame-Options";
haproxy
rspdel X-Frame-Options:\ SAMEORIGIN
**参考文档:
haproxy官方文档:http://cbonte.github.io/haproxy-dconv/1.6/configuration.html#6
第6章 HTTP header manipulation(操纵header头)
转载于:https://blog.51cto.com/11887934/2051191