Icons are nearly all empty

Nextcloud version: 22.0.0
Operating system and version: Linux arsenic 5.13.5-arch1-1 #1 SMP PREEMPT Sun, 25 Jul 2021 18:02:58 +0000 x86_64 GNU/Linux
Apache or nginx version: HAProxy version 2.4.2-553dee3 2021/07/07
PHP-FPM:
PHP version: 8.0.8

The issue you are facing:

No icons are showing in the top bar:
1628234757

Looking at the network panel, I see the images were returned with a 200, but they’re empty:
1628235003

Is this the first time you’ve seen this error?: Y

Steps to replicate it:

  1. Open any page, see missing icons

The output of your Nextcloud log in Admin > Logging:

No output here when loading a page

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

$CONFIG = array (
  'config_is_read_only' => true,
  'instanceid' => '[redacted]',
  'trusted_domains' =>
  array (
    0 => '[redacted]',
    1 => '[redacted]',
  ),
  'datadirectory' => '[redacted]',
  'dbtype' => 'pgsql',
  'dbhost' => 'localhost',
  'dbname' => 'nextcloud',
  'dbuser' => 'nextcloud',
  'dbpassword' => '$dbpassword',
  'overwriteprotocol' => 'https',
  'overwrite.cli.url' => '[redacted]',
  'installed' => true,
  'passwordsalt' => '$passwordsalt',
  'secret' => '$secret',
  'version' => '22.0.0.11',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'maintenance' => false,
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => 1,
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/usr/share/webapps/nextcloud/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/lib/nextcloud/apps',
      'url' => '/wapps',
      'writable' => true,
    ),
  ),
  'theme' => '',
  'redis' =>
  array (
    'host' => '/run/redis/redis.sock',
    'port' => 0,
    'dbindex' => 0,
    'timeout' => 1.5,
  ),
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => true,
  'enable_previews' => true,
  'enabledPreviewProviders' =>
  array (
    0 => 'OC\\Preview\\Movie',
    1 => 'OC\\Preview\\PNG',
    2 => 'OC\\Preview\\JPEG',
    3 => 'OC\\Preview\\GIF',
    4 => 'OC\\Preview\\BMP',
    5 => 'OC\\Preview\\XBitmap',
    6 => 'OC\\Preview\\MP3',
    7 => 'OC\\Preview\\MP4',
    8 => 'OC\\Preview\\TXT',
    9 => 'OC\\Preview\\MarkDown',
    10 => 'OC\\Preview\\PDF',
  ),
  'app_install_overwrite' =>
  array (
    0 => 'previewgenerator',
    1 => 'groupfolders',
    2 => 'contacts',
    3 => 'files_retention',
  ),
  'mail_from_address' => 'nextcloud',
  'mail_smtpmode' => 'smtp',
  'mail_sendmailmode' => 'smtp',
  'mail_domain' => '[redacted]',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => '[redacted]',
  'mail_smtpport' => '587',
  'mail_smtpname' => '[redacted]',
  'mail_smtppassword' => '[redacted]',
);

The output of your Apache/nginx/system log in /var/log/____:
(trying to get this but it’s hard because other stuff is running, I’ll edit the post when I get this)

Have you already tried to clear / to reset the browser cache?

Thanks for the suggestion @schoetju. I just tried it (again, I think I did earlier) but no luck.

This is another example of icon not loading, the user-status-online one this time:

  1. Request URL: https://[redacted]/apps/user_status/img/user-status-online.svg
  2. Request Method: GET
  3. Status Code: 200 OK

There is actually no response body, just response headers:

  1. accept-ranges: bytes
  2. content-length: 237
  3. content-type: application/octet-stream
  4. date: Sat, 07 Aug 2021 03:59:47 GMT
  5. etag: “1411454343”
  6. last-modified: Sat, 17 Jul 2021 21:54:40 GMT
  7. server: [redacted]
  8. strict-transport-security: max-age=15552000; includeSubDomains; preload;

This is not a satisfying conclusion for me but in an attempt to simplify my stack, I replaced lighttpd with caddy and now I see all the icons no problem.
So my stack now is TLS termination and request dispatching through caddy. Talking by socket to caddy who talks by socket to php-fpm.