HAProxy How-Tos

Redirect Root directory

Create a condition:

../../_images/haproxy_root_path_condition.png

name

root

Condition type

Path matches

Path matches

/

Create a Rule:

../../_images/haproxy_forward_to_dir_rule.png

name

forward_to_dir

Test type

IF

conditions

root

Logical ops

none

Execute function

http-request redirect

HTTP Redirect parameter

code 301 location http://www.example.net/directory/

Please note that 301 is for a permanent redirect. If you want to do it teporary, you will have to use another status code.

Under Public Services edit your frontend and add “forward_to_dir” to Select Rules.

../../_images/haproxy_forward_to_dir_service.png

Add Basic Authentication to a Service

I have a Webapplication which have to be exposed to the outside and doesn’t allow authentication. So HAProxy with basic auth would be just fine to get a mininum of security.

  • Go to “Rules & Conditions” - “Conditions” and Add a new one:

../../_images/haproxy_condition_add_authentication.png

name

choose a name

Condition type

Custom

option pass-through

http_auth(admins)

  • Add a rule:

../../_images/haproxy_edit_rule_authentication.png

name

a name for your rule

Test type

UNLESS

condition

select the previously created one

Logical operator

none

Execute function

http-request auth”

  • Go to your frontend and add the ACL to it.

../../_images/haproxy_frontend_add_authentication.png
  • Go to Settings ‣ Global Parameters, enable the advanced mode (top left), and add your users to configuration via the “Custom options”

../../_images/haproxy_settings_global_params_auth.png
userlist admins
user test1 insecure-password pw1
user test2 insecure-password pw2