我遇到一种情况,其中example.com具有使用同一CSS文件的多个子域,而这些CSS域又使用嵌入在其中的相同字体文件。在下面的“新方法”中,网络字体不断出现跨域错误。如果在第二次尝试时从CDN请求的原始请求中找到*,则CDN设置“原点”时,“旧方法”就可以正常工作。
我不想这样做,因为它允许任何人使用这些文件。我要做的只是在我的CDN请求中包含标题X-MS-CacheID
的情况下才写*,但是似乎不起作用。它会导致COR问题,例如没有被击中。
任何提示我的格式正确吗?
旧方式
<outboundRules>
<rule name="Set Access-Control-Allow-Origin header">
<match serverVariable="RESPONSE_Access-Control-Allow-Origin" pattern="(.*)" />
<action type="Rewrite" value="*" />
</rule>
</outboundRules>
新方法
<outboundRules>
<rule name="Set Access-Control-Allow-Origin header">
<match serverVariable="RESPONSE_Access-Control-Allow-Origin" pattern="(.*)" />
<action type="Rewrite" value="*" />
<conditions>
<add input="HTTP_x_ms_cacheid" pattern=".*" />
</conditions>
</rule>
</outboundRules>
已记录的请求
GET https://example.com/home/test?r=777
Connection: Keep-Alive
Accept-Encoding: gzip, br
Cookie: _hp2_id.2757902115=%7B%22userId%22%3Anull%2C%22pageviewId%22%3A%225689423556149444%22%2C%22sessionId%22%3A%221868667023650329%22%2C%22identity%22%3A%2210afdd1785cda40fd3369b7ac259331261f1183c%22%2C%22trackerVersion%22%3A%223.0%22%7D; _ga=GA1.2.937945742.1498499252; __zlcmid=hDgYBKLfkviazc; ajs_anonymous_id=%229aa463a1-0b5b-4813-8743-63927a622489%22; ajs_user_id=%2216754861248%22; ajs_group_id=1336088; rxVisitor=15214949470675C4GAOAP6N7F4G5KA91BTI1MPDG4LLKS; __qca=P0-1799053232-1532395382422; __zlcprivacy=1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
upgrade-insecure-requests: 1
X-MS-Ref: 0eEk5XAAAAAAZD5NP0YhTRbA/Fq601jLiQVRBRURHRTEyMTEAOWY2OTZmMDMtODg4My00MzYxLWIwODQtNDc3YzIzYjA3Mjcy, 0eEk5XAAAAACPv5BjdqqhSJV3bz5bv3RMQkwyRURHRTAzMTkAOWY2OTZmMDMtODg4My00MzYxLWIwODQtNDc3YzIzYjA3Mjcy
X-MS-CacheID: 591DC589-C82D-4290-BB1C-0323968866CC, 6696BBA5-FA1D-4A4B-B73C-C55E067D588F
答案 0 :(得分:0)
好吧,我猜我对CSS和Font文件的请求没有X-MS-CacheID,但是有X-MS-Ref。
<rule name="Set CDN Access-Control-Allow-Origin header" stopProcessing="true">
<match serverVariable="RESPONSE_Access-Control-Allow-Origin" pattern="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="HTTP_x_ms_ref" pattern=".*" />
</conditions>
<action type="Rewrite" value="*" />
</rule>