diff --git a/src/http_client.c b/src/http_client.c index f137a6e3b..a1b976ca0 100644 --- a/src/http_client.c +++ b/src/http_client.c @@ -1208,7 +1208,8 @@ struct proxy *httpclient_create_proxy(const char *id) struct server *srv_ssl = NULL; #endif - if (global.mode & MODE_MWORKER) + /* the httpclient is not usable in the master process */ + if (master) return ERR_NONE; px = alloc_new_proxy(id, PR_CAP_LISTEN|PR_CAP_INT|PR_CAP_HTTPCLIENT, &errmsg); @@ -1345,8 +1346,11 @@ err: */ static int httpclient_precheck() { - /* initialize the default httpclient_proxy which is used for the CLI and the lua */ + /* the httpclient is not usable in the master process */ + if (master) + return ERR_NONE; + /* initialize the default httpclient_proxy which is used for the CLI and the lua */ httpclient_proxy = httpclient_create_proxy(""); if (!httpclient_proxy) return ERR_RETRYABLE; @@ -1365,7 +1369,8 @@ static int httpclient_postcheck_proxy(struct proxy *curproxy) struct server *srv_ssl = NULL; #endif - if (global.mode & MODE_MWORKER) + /* the httpclient is not usable in the master process */ + if (master) return ERR_NONE; if (!(curproxy->cap & PR_CAP_HTTPCLIENT))