nginx 与 apache 返回 XML 文件时

nginx 与 apache 返回 XML 文件时

我脑子里一直纠结着这个问题:

以下是 nginx 上的 XML 文件的链接: http://tag.sprtad.com/files/vast.xml

这是 Apache 上的 XML 文件的链接 http://serve.sprtad.com/test.xml

此 XML 文件是一种配置文件,可以在此处进行测试: https://developers.google.com/interactive-media-ads/docs/vastinspector_dual

只需将上面的每个链接粘贴到文本框中并点击“测试广告”即可。下面您可以看到“事件”日志。

NGINX 链接,不起作用,测试人员返回:

(2:36:01 PM) Ads requested
(2:36:09 PM) adError Ad error (code 301): VAST wrapper redirect unwrapping timeout.
(2:36:09 PM) Error: VAST wrapper redirect unwrapping timeout.

APACHE 链接确实有效,测试人员返回:

(2:45:07 PM) Ads requested 
(2:45:08 PM) adsManagerLoaded 
(2:45:08 PM) adMetadata 
(2:45:09 PM) loaded  
(2:45:10 PM) Content Pause Requested  
(2:45:10 PM) Started  
(2:45:10 PM) impression

处理从两个服务器返回的 XML 有何不同?

答案1

如果发送 http/1.0,则看起来会进行重定向。

也许您可以提供一些 nginx 的配置详细信息来验证潜在的错误在哪里。

问候,约瑟夫

答案2

您的 nginx 服务器正在输出制表符,广告测试器可能无法处理此问题。如果您通过 od 管道传输此问题,您将看到额外的 \t 字符:

$ curl -s http://serve.sprtad.com/test.xml | od -c

上面没有显示 \t 字符,但是下面的有:

$ curl -s 'http://tag.sprtad.com/files/vast.xml' | od -c

nginx 和 apache 可能以不同的方式处理它,但无论哪种方式,请尝试从源中删除制表符,并将其替换为更兼容的空格字符。

相关内容