nginx不安定エラー「111:ビデオファイルの提供中に接続が拒否されました」

nginx不安定エラー「111:ビデオファイルの提供中に接続が拒否されました」

私はasp Core 3.1ビデオストリーミングウェブサイトをホストしているDebian 10 arm64マシンであるこのサーバーを持っています。

全体的にビデオを再生するときを除いて、それは素晴らしい動作します。何らかの理由で、nginxは次のように多くを生成します。

*258 connect() failed (111: Connection refused) while connecting to upstream

いくつかのビデオファイルを提供するとき。

今、これは次の理由で特に奇妙です。

  • ビデオが正常に読み込まれて再生されても、このエラーが記録されます。
  • 時々私のシステムがクラッシュしているようです。おそらく、この動作のために(nginxサービスが停止してもこの競合が発生しないため)、完全に読み取り専用になります。その後、回復するには再起動する必要があります。

私の設定は次のとおりです。

server {

    listen 443;
    server_name videocloud.my-domain.com;
    ssl_certificate /etc/letsencrypt/live/videocloud.my-domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/videocloud.my-domain.com/privkey.pem; # managed by Certbot

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    auth_basic            "Restricted Area";
    auth_basic_user_file      /etc/apache2/.htpasswd;

    add_header Access-Control-Expose-Headers Accept-Ranges;
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Origin [http://localhost:5002];
    add_header Access-Control-Expose-Headers Accept-Ranges;
    add_header Access-Control-Expose-Headers Content-Encoding;
    add_header Access-Control-Expose-Headers Content-Length;
    add_header Access-Control-Expose-Headers Content-Range;
    add_header accept_ranges bytes;

    proxy_force_ranges on;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      # Fix the It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://localhost:5002;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:5002 https://videocloud.my-domain.com;
    }

}

答え1

上記の説明で示したように、localhostを127.0.0.1に置き換えてipv6を無効にすることで問題が解決しました。

関連情報