|
|
- From c7c1e55f09839727ba7defd37347fc500dabb202 Mon Sep 17 00:00:00 2001
- From: Willy Tarreau <w@1wt.eu>
- Date: Tue, 11 Aug 2015 11:36:45 +0200
- Subject: [PATCH 10/13] MEDIUM: config: emit a warning on a frontend without
- listener
-
- Commit c6678e2 ("MEDIUM: config: authorize frontend and listen without bind")
- completely removed the test for bind lines in frontends in order to make it
- easier for automated tools to generate configs (eg: replacing a bind with
- another one passing via a temporary config without any bind line). The
- problem is that some common mistakes are totally hidden now. For example,
- this apparently valid entry is silently ignored :
-
- listen 1.2.3.4:8000
- server s1 127.0.0.1:8000
-
- Hint: 1.2.3.4:8000 is mistakenly the proxy name here.
-
- Thus instead we now emit a warning to indicate that a frontend was found
- with no listener. This should be backported to 1.5 to help spot abnormal
- configurations.
- (cherry picked from commit f82d1ca2d7ec83804d6b54e61a35747ad2f85188)
- ---
- src/cfgparse.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
- diff --git a/src/cfgparse.c b/src/cfgparse.c
- index 2a5f178..d67edc5 100644
- --- a/src/cfgparse.c
- +++ b/src/cfgparse.c
- @@ -6193,6 +6193,12 @@ int check_config_validity()
- break;
- }
-
- + if ((curproxy->cap & PR_CAP_FE) && LIST_ISEMPTY(&curproxy->conf.listeners)) {
- + Warning("config : %s '%s' has no 'bind' directive. Please declare it as a backend if this was intended.\n",
- + proxy_type_str(curproxy), curproxy->id);
- + err_code |= ERR_WARN;
- + }
- +
- if ((curproxy->cap & PR_CAP_BE) && (curproxy->mode != PR_MODE_HEALTH)) {
- if (curproxy->lbprm.algo & BE_LB_KIND) {
- if (curproxy->options & PR_O_TRANSP) {
- --
- 2.4.6
-
|