There seems to be some issue the the nginx config. Is there any reason you have modified this rule differently then as documented in the wordpress documentation ? (https://wordpress.org/support/article/nginx/#wordpress-multisite-subdirectory-rules)
I am specifically talking about following rule :
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite /wp-admin$ $host/$uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*.php) $2 last;
}
I think you can remove the 3rd line in the above rule ( rewrite /wp-admin$ $host/$uri/ permanent;
) as it’s not there in the documentation too .. and I think all needed is already there in the first rule of this block.
Beside that in the last rule (rewrite ^(/[^/]+)?(/.*.php) $2 last;
) is missing an escape sequence, which is also present in the documentation.
So Can you try replacing the above block completely as present in the document like shown below ?
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$request_uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*\.php) $2 last;
}