Nginx with virtual sites, all rewrites and all returns give only the error "cyclic redirect error"

Solution 1:

Create one server block listening on port 80 with your return statement. Remove the listen 80 statements from all of the other server blocks.

For example:

server {
    listen 80 default_server;
    return 301 https://$host$request_uri;
}