> On 04 Feb 2016, at 07:04, Willy Tarreau <w...@1wt.eu> wrote: > > Hello Dmitry, > > On Thu, Jan 28, 2016 at 05:31:58PM +0300, Dmitry Sivachenko wrote: >> Hello, >> >> I have an option http-ignore-probes in defaults section. >> When I declare frontend in "tcp" mode, I get the following warning: >> >> [WARNING] 027/172718 (18281) : config : 'option http-ignore-probes' ignored >> for frontend 'MYTEST-front' as it requires HTTP mode. >> >> In defaults section I have other http-specific options (e.g. >> http-keep-alive), which does not produce a warning in tcp backend. >> Is it intended? It looks logical to produce such a warning only if >> http-specific option is used directly in tcp backend and silently ignore it >> when used in defaults. > > There's no difference between having the option in defaults or explicitly > in the section itself. You should see defaults as templates for next > sections. The error here is that http-keep-alive should also produce a > warning. But I think I know why it doesn't, most options are handled by > a generic parser which checks the proxy mode, and a few other more > complex ones are implemented "by hand" and do not necessarily run such > checks. > > It's a very bad practise to mix TCP and HTTP proxies with the same defaults > sections. This probably is something we should document better in the doc. > A good practise is to have one (or several) defaults sections for HTTP mode > and then other defaults sections for TCP mode. And most often you don't even > have the same timeouts, log settings etc. >
Thanks for the explanation! I just realized that there can be multiple defaults sections, so your arguments look valid.