#需求


 公司监控页面(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头)