关于nginx,我遇到了最奇怪的问题。
在RHEL 7.2上从1.6.3
升级到1.12.2
之后,对音频文件的请求只是被挂起:
Connecting to mydomain [...] ... connected.
HTTP request sent, awaiting response...
在我的nginx access.log
中,我看到的是200
状态:
"GET /media/Example.mp3 HTTP/1.1" 200 105243 "-" "Wget/1.19.4 (linux-gnu)" "-"
如果我在同一目录中以相同的权限请求一个MP4文件,则可以正常工作。我尝试过的MP4都比我的MP3文件大和小:它们工作得很好。
CSS / JS /图像也可以正常工作。
如果我注释掉MP3
中的/etc/nginx/mime.types
哑剧类型,然后请求/media/Example.mp3
,它就可以正常工作(!!!)。
我添加了ogg
哑剧类型,以查看这是否仅与音频相关,并且确实,OGG文件以与MP3相同的方式失败。
我已经设置了调试日志记录,对于MP3请求,一切看起来都很正常。
我已禁用SELinux,检查了文件,父文件夹等的权限,并确认实际的MP3文件没有问题。
我尝试关闭sendfile。
我无法撤消此YUM交易;该版本的nginx似乎存在安全问题,并且不再可用。
我已经在网上进行搜索,但是找不到任何相关报告。有人有什么想法/建议吗?
编辑
当我设置Accept
标头并尝试连接时,curl
的输出如下:
* Trying my.ipaddress...
* TCP_NODELAY set
* Connected to my.host (my.ipaddress) port 80 (#0)
> GET /media/Example.mp3 HTTP/1.1
> Host: my.host
> User-Agent: curl/7.58.0
> Accept: audio/mpeg
>
然后它就挂了...