Nginx/Cloudflare ¿puedo hacer proxy usando el bloque de servidor en lugar de DNS?

Nginx/Cloudflare ¿puedo hacer proxy usando el bloque de servidor en lugar de DNS?

Me estoy encontrando con problemas un poco molestos al configurar la funcionalidad de la página de error personalizada de Cloudflare, por lo que me gustaría descubrir cómo puedo pasar proxy_pass a Cloudflare solo cuando mi servidor no devuelve un código de error, ya que realmente solo quiero usarlos para mostrar una página personalizada que creo en lugar de las predeterminadas de Cloudflare.

Aquí está la configuración disponible para los sitios nginx:

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

upstream app {
    server 127.0.0.1:8000;
    # server CLOUDLFARE_ADDRESS_FOR_PROXY
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;

        location / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://app;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";

                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Host $server_name;
                proxy_headers_hash_max_size 512;
                proxy_headers_hash_bucket_size 128;
                # can this work somehow?
                # proxy_next_upstream [non-error] CLOUDLFARE_ADDRESS_FOR_PROXY
        }

        location ~*  \.(jpg|jpeg|png|gif|ico|css|js|pdf)$ {
                expires 1d;
        }

        error_page 500 502 503 504 /custom_50x.html;
        location = /custom_50x.html {
                        root /usr/share/nginx/html;
                        internal;
        }
        ssl_certificate /etc/letsencrypt/live/exactestate.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/exactestate.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

Lo que quiero es usar Cloudflare como proxy sólo si mi servidor no arroja códigos de error, ¿cómo puedo lograr esto?

Supongo que la configuración de DNS que utiliza la interfaz Cloudlfare es más potente que los bloques de servidor, así que me gustaría encontrar una forma de hacerlo utilizando el bloque de servidor de Nginx en lugar de un proxy DNS completo.

información relacionada