A 400 doesn't indicate a problem with the worker or the system behind
the proxy, it indicates a problem with the client.  Also marking a
worker bad for say a 401 unauthorized would make all authentication
impossible, a 403 or 404 would drain the pool every time someone asked
for something they weren't allowed to have or that wasn't located
where they thought it was (especially spiders like google).

-Andy

On Tue, Aug 31, 2010 at 9:26 AM, Jeff Trawick <traw...@gmail.com> wrote:
> It looks like this is just 500 and 503.
>
> Why not 400, for example?
>
>         if (access_status == OK)
>             break;
>         else if (access_status == HTTP_INTERNAL_SERVER_ERROR) {
>             /* Unrecoverable server error.
>              * We can not failover to another worker.
>              * Mark the worker as unusable if member of load balancer
>              */
>             if (balancer) {
>                 worker->s->status |= PROXY_WORKER_IN_ERROR;
>                 worker->s->error_time = apr_time_now();
>             }
>             break;
>         }
>         else if (access_status == HTTP_SERVICE_UNAVAILABLE) {
>             /* Recoverable server error.
>              * We can failover to another worker
>              * Mark the worker as unusable if member of load balancer
>              */
>             if (balancer) {
>                 worker->s->status |= PROXY_WORKER_IN_ERROR;
>                 worker->s->error_time = apr_time_now();
>             }
>         }
>         else {
>             /* Unrecoverable error.
>              * Return the origin status code to the client.
>              */
>             break;
>         }
>
>

Reply via email to