Мне нужно иметь возможность пропустить аутентификацию для определенного URI, используя haproxy
, но использование следующего файла конфигурации не работает.При доступе к whatever.server/app/my-app
меня все равно просят предоставить учетные данные для входа.
global
maxconn 4096
daemon
userlist myUsers
user someUser insecure-password somePass
defaults
mode http
log 127.0.0.1 local1 debug
option httplog
frontend all
bind 0.0.0.0:80
timeout client 86400000
default_backend www_backend
acl is_websocket hdr(Upgrade) -i WebSocket
acl is_webapp path_beg /app
acl is_my_app path_beg /app/my-app
acl auth_ok http_auth(myUsers)
http-request auth unless auth_ok or is_websocket or is_my_app
use_backend webapp_backend if is_webapp
backend www_backend
balance roundrobin
option forwardfor # This sets X-Forwarded-For
option httpclose
timeout server 1800000
timeout connect 4000
server server1 localhost:81 weight 1 maxconn 1024 check
backend webapp_backend
balance roundrobin
option forwardfor # This sets X-Forwarded-For
option httpclose
timeout server 1800000
timeout connect 4000
server server1 localhost:8800 weight 1 maxconn 1024 check
Я использую haproxy
v1.4
РЕДАКТИРОВАТЬ
Также пробовал
http-request allow if is_my_app
http-request auth unless auth_ok or is_websocket
, но он разрешает все URL без аутентификации