如何使用反向代理来绕过X-Frame-Options:iframe的SAMEORIGIN

时间:2016-01-26 11:00:29

标签: html pound

我正在努力绕过X-Frame-Options:某些页面上的SAMEORIGIN限制,所以我可以将它们放在iframe中。

我知道可以使用反向代理服务器来解决这个问题,但我不确定如何。

我需要的是为某些大厅监视器创建一个触摸屏界面,该界面将在iframe中包含一些外部页面。我这样做是为了让所有东西都包装在同一个ui下。理想情况下,并非所有页面都应使用反向代理。

任何人都可以抛出一些光,最好是一个例子吗?

感谢

2 个答案:

答案 0 :(得分:5)

下面的这个nginx配置代码可能适合您。它隐藏了客户端的“x-frame-options”。

server {
  listen 80;
  server_name my-lobby-app.com;

  location / {
    proxy_pass  http://other-site.com
    proxy_set_header Host other-site.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_hide_header 'x-frame-options';
  }
}

答案 1 :(得分:0)

如果要添加显式的allowall,则必须隐藏来自服务的所有标头,然后添加自己的标头:

server {
  listen 80;
  server_name my-lobby-app.com;

  location / {
    proxy_pass  http://other-site.com
    proxy_set_header Host other-site.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_hide_header 'x-frame-options';
    proxy_set_header x-frame-options allowall;
  }
}