summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2014-09-01 12:27:38 +0400
committerRuslan Ermilov <ru@nginx.com>2014-09-01 12:27:38 +0400
commitbe6175d49d7a002aa4bd0ad811976ea87fc928ad (patch)
treed9878756226104e8f3b6c35ad023ee8decddcf87 /src
parent967c51c9ffe176c552a4287a64805f4ba6d214c4 (diff)
downloadnginx-be6175d49d7a002aa4bd0ad811976ea87fc928ad.tar.gz
nginx-be6175d49d7a002aa4bd0ad811976ea87fc928ad.tar.bz2
Upstream: improved configuration parser diagnostics.
Made it clear when the selected balancing method does not support certain parameters of the "server" directive.
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http_upstream.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index 18b04f775..94dd466af 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -4973,7 +4973,7 @@ ngx_http_upstream_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
if (ngx_strncmp(value[i].data, "weight=", 7) == 0) {
if (!(uscf->flags & NGX_HTTP_UPSTREAM_WEIGHT)) {
- goto invalid;
+ goto not_supported;
}
weight = ngx_atoi(&value[i].data[7], value[i].len - 7);
@@ -4988,7 +4988,7 @@ ngx_http_upstream_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
if (ngx_strncmp(value[i].data, "max_fails=", 10) == 0) {
if (!(uscf->flags & NGX_HTTP_UPSTREAM_MAX_FAILS)) {
- goto invalid;
+ goto not_supported;
}
max_fails = ngx_atoi(&value[i].data[10], value[i].len - 10);
@@ -5003,7 +5003,7 @@ ngx_http_upstream_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
if (ngx_strncmp(value[i].data, "fail_timeout=", 13) == 0) {
if (!(uscf->flags & NGX_HTTP_UPSTREAM_FAIL_TIMEOUT)) {
- goto invalid;
+ goto not_supported;
}
s.len = value[i].len - 13;
@@ -5021,7 +5021,7 @@ ngx_http_upstream_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
if (ngx_strcmp(value[i].data, "backup") == 0) {
if (!(uscf->flags & NGX_HTTP_UPSTREAM_BACKUP)) {
- goto invalid;
+ goto not_supported;
}
us->backup = 1;
@@ -5032,7 +5032,7 @@ ngx_http_upstream_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
if (ngx_strcmp(value[i].data, "down") == 0) {
if (!(uscf->flags & NGX_HTTP_UPSTREAM_DOWN)) {
- goto invalid;
+ goto not_supported;
}
us->down = 1;
@@ -5072,6 +5072,14 @@ invalid:
"invalid parameter \"%V\"", &value[i]);
return NGX_CONF_ERROR;
+
+not_supported:
+
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+ "balancing method does not support parameter \"%V\"",
+ &value[i]);
+
+ return NGX_CONF_ERROR;
}