Java 通过nginx的Webflux媒体流有时会失败

Java 通过nginx的Webflux媒体流有时会失败,java,nginx,spring-webflux,Java,Nginx,Spring Webflux,试图通过Nginx从WebFlux应用程序流式传输媒体文件时,我遇到了一个奇怪的问题:一些视频无法正常工作,但其他视频可以正常工作 我有时会犯的错误是 net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 为媒体资源提供服务的控制器: @GetMapping(value = "/media", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) public Mono<

试图通过Nginx从WebFlux应用程序流式传输媒体文件时,我遇到了一个奇怪的问题:一些视频无法正常工作,但其他视频可以正常工作

我有时会犯的错误是

 net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)
为媒体资源提供服务的控制器:

  @GetMapping(value = "/media", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
  public Mono<FileSystemResource> media(@RequestParam final String id) {

    return mediaFileService.findById(id).map(MediaFile::getPath).map(FileSystemResource::new);
  }
正如您在
/media
位置点下所看到的,我尝试了在互联网上找到的关于如何解决此问题的大多数示例。最大的是
send\u timeout
proxy\u buffering

我觉得奇怪的是,这种情况只发生在一些视频文件上


我可以尝试其他配置吗?还是这里有什么明显的问题

您是否尝试过
proxy\u max\u temp\u file\u size 0?另外,您是否能够在没有nginx的情况下重现问题?(并且不想被侮辱——绝对不是像某些视频文件上的许可问题这样愚蠢的事情?)没有混合中的Nginx就无法复制;因此,这肯定与那里的情况有关。是的,我也试过使用
proxy\u max\u temp\u file\u size 0。假设在混音中没有Nginx的情况下可以正常工作,并且一些视频可以正常工作,这不是权限问题,因为所有文件都具有相同的权限:(我怀疑是这样的,但想澄清一下——恐怕我的技能完全掌握在Java/webflux方面,而不是nginx方面,因此我可能无法提出太多有用的建议!同样尴尬的是……感谢您的建议!您是否尝试过
代理\u max\u temp\u file\u size 0;
?此外,您是否能够在不使用nginx的情况下一次性重现该问题LH?(并且不想被侮辱-绝对不是像一些视频文件的许可问题这样愚蠢的事情?)如果混音中没有Nginx,则无法复制;因此这肯定与此有关。是的,我也尝试过使用
proxy\u max\u temp\u file\u size 0;
。假设混音中没有Nginx,某些视频也能正常工作,这不是权限问题,因为所有文件都具有相同的权限:(我怀疑是这样的,但想澄清一下——恐怕我的技能完全掌握在Java/webflux方面,而不是nginx方面,所以我可能无法提出很多有用的建议!同样尴尬的是……谢谢你的建议!
server {
  listen 80;
  server_name terrible-spa;
  root /usr/share/nginx/html/;
  index index.html index.html;

  location /media {
        send_timeout 60m;

        proxy_redirect off;
        proxy_buffering off;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Request_Uri_X $request_uri;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;

        proxy_pass http://media-service:8080/media;
  }

  location / {
    try_files $uri $uri/ /index.html =404;
  }
}