【问题标题】:Apache reverse proxy: how to redirect relative URLs in external site back to itself?Apache 反向代理:如何将外部站点中的相对 URL 重定向回自身?
【发布时间】:2012-11-04 15:06:53
【问题描述】:

我需要绕过跨站点脚本限制,以便在用户单击我在 iframe (external.com/onlyforme) 中加载的外部站点的链接时向他们显示地图。我了解到,最简单的方法是设置反向代理,以便 Apache 在我访问 local.com/external 时检索 external.com/onlyforme,并使其看起来像是来自我的域。

这主要是有效的,但是当 external.com/onlyforme/index.html 尝试访问 external.com/onlyforme/site_media/script.js 时,它会被重定向到 local.com/site_media/script.js,这不是我想要的是。相反,我希望将其重定向到 external.com/onlyforme 中的正确 URL,以便外部站点按预期工作。

我该怎么做?

我的 httpd.conf 中有这个,在任何其他配置语句之外:

ProxyRequests Off
ProxyPass /external/ http://www.external.com/onlyforme
ProxyPassReverse /external/ http://www.external.com/onlyforme

我正在运行 Apache 2.2。

【问题讨论】:

    标签: apache cross-domain mod-proxy cross-domain-proxy


    【解决方案1】:

    您需要在上面添加几个 ProxyHTMLURLMap 指令,以检查和重写返回的 HTML 中的任何硬编码 URL,例如

    ProxyRequests Off
    ProxyPass        /external/         http://www.external.com/onlyforme
    ProxyHTMLURLMap http://www.external.com/onlyforme     /external
    
    <Location /external/>
      ProxyPassReverse  http://www.external.com/onlyforme
      SetOutputFilter proxy-html
      ProxyHTMLURLMap /            /external/
      ProxyHTMLURLMap /site_media  /external/site_media/
    </Location>
    

    另见:http://wiki.uniformserver.com/index.php/Reverse_Proxy_Server:_mod_proxy_html

    【讨论】:

      【解决方案2】:

      arober11 的回答极大地帮助解决了我的类似问题。我试图将其缩小到可能的最短规则集,并且有我自己的配置让Etherpadhttps://my-domain-name.wtf/pad 上运行:

      <Location /pad>
        ProxyPass http://localhost:9001 retry=0
        # retry=0 => avoid 503's when restarting etherpad-lite
        ProxyPassReverse http://localhost:9001
        SetOutputFilter proxy-html
        ProxyHTMLURLMap http://localhost:9001
      </Location>
      RewriteRule ^/pad$ /pad/ [R]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-14
        • 2020-07-20
        • 2011-11-28
        • 2021-06-07
        • 1970-01-01
        • 2019-07-05
        • 2014-05-26
        相关资源
        最近更新 更多