如何查找从nginx返回的无效内容类型?

问题描述:

我们使用Twilio的API(使用TwiML),并通过我们的标准Rails/Passenger/nginx堆栈为它们提供“.wav”文件。然而,我遇到了一个问题 - 根据Twilio的说法,我们的服务器发送.wav文件的“application/octet-stream”,而不是所需的“audio/wav”。如何查找从nginx返回的无效内容类型?

我已经确保两个Rails(在mime_types初始值设定项中)和nginx(在mime.types文件中)都有适当的MIME类型。然而,Twilio大约有一半时间报告说,由于“application/octet-stream”MIME类型,无法检索文件。另一半时间,它工作正常。

有没有人经历过这样的行为?

我可能终于清除了这个问题了......我修改了我们的动词,使用完整的URL而不是路径,并且在这些URL中使用了HTTP协议。

# Old 
<Play>/assets/path/to/file.wav</Play> 

# New 
<Play>http://server.com/assets/path/to/file.wav</Play> 

我不知道它是否转移到HTTP,或转移到URL,但我的错误率立刻从50%左右下降至0%。如果有人知道为什么会出现这种情况,或者他们有其他解决方案,我会将其留作其他答案。