我试图在iFrame中嵌入第三方网站。该网站允许通过X-Frame-Options嵌入,但不幸的是,他们最近实施了CloudFlare DDos保护,并且保护站点设置为X-Frame-Options' sameorigin'。
当我首先在新的浏览器窗口中打开网站然后打开我的页面iframe工作时,因为存在cloudflare cookie但没有这一步,iframe呼叫被阻止。
通常,设置反向代理并以这种方式显示站点是没有问题的。但CloudFlare工作流程略有不同。我可以在我的iFrame中看到保护页面,但随后CloudFlare正在使用一些URL参数进行重定向:
cdn-cgi/l/chk_jschl?jschl_vc=d55e98eeffc3e37c0ccd85ac671e8412&pass=1513704935.144-pnDsJgDXQX&jschl_answer=11218735
我无法将其重定向回第三方网站,以便正确设置保护cookie,以便页面可以打开。
我使用的是IIS,我的web.config看起来像这样:
<rewrite>
<rules>
<rule name="Reverse Proxy" stopProcessing="true">
<match url="^redirect/(.*)" />
<action type="Rewrite" url="https://3rd-party-page.com/{R:1}" />
</rule>
</rules>
<outboundRules>
<rule name="RewriteRelativePaths" preCondition="ResponseIsHtml" enabled="true" stopProcessing="false">
<match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^/(.*)" />
<action type="Rewrite" value="http://localhost/redirect/{R:1}" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
是否可以启动并运行?