通過七層反向代理設置X-Frame-Options參數,實現頁面frame防護/加載

#需求


 公司監控頁面(elk、zabbix、what’s up等)需要做輪詢展示,讓前端同事寫了個瀏覽器輪詢頁面。
問題:
 多數頁面都能成功加載,唯獨what’s up頁面(網絡設備監控軟件頁面)無法加載;報錯信息如下:

通過七層反向代理設置X-Frame-Options參數,實現頁面frame防護/加載

#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(加載頁面)


也就是解決下面問題
通過七層反向代理設置X-Frame-Options參數,實現頁面frame防護/加載

思路: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頭)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章