Page MenuHomeVyOS Platform

reverse-proxy: backend http-check CLI option not honored
Closed, InvalidPublicBUG

Description

set load-balancing reverse-proxy backend nextcloud parameters http-check
set load-balancing reverse-proxy backend nextcloud server lnx03 address '172.16.36.40'
set load-balancing reverse-proxy backend nextcloud server lnx03 port '443'
set load-balancing reverse-proxy backend nextcloud ssl no-verify
set load-balancing reverse-proxy global-parameters max-connections '100'
set load-balancing reverse-proxy global-parameters tls-version-min '1.3'
set load-balancing reverse-proxy service cloud backend 'nextcloud'
set load-balancing reverse-proxy service cloud port '443'
set load-balancing reverse-proxy service cloud redirect-http-to-https
set load-balancing reverse-proxy service cloud ssl certificate 'foo'

The Jinja2 template reads:

{% if backend is vyos_defined %}
{%     for back, back_config in backend.items() %}
backend {{ back }}
{%         if back_config.http_check is vyos_defined %}
    option httpchk
{%         endif %}
{%         set send = '' %}
{%         if back_config.http_check.method is vyos_defined %}
{%             set send = send + ' meth ' + back_config.http_check.method | upper %}
{%         endif %}
{%         if back_config.http_check.uri is vyos_defined %}
{%             set send = send + ' uri ' + back_config.http_check.uri %}
{%         endif %}
{%         if send != '' %}

So set load-balancing reverse-proxy backend nextcloud parameters http-check is never evaluated as the check is for back_config.http_check and not back_config.parameters.http_check

Details

Difficulty level
Easy (less than an hour)
Version
1.4.0-epa2
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)