Haproxy: Ограничить доступ к ненадежным IP-адресам только для под-URL

Haproxy: Ограничить доступ к ненадежным IP-адресам только для под-URL

Я хотел бы ограничить доступ к своему серверу Pastebin (я использую Zerobin), чтобы недоверенные IP-адреса могли только открывать секреты, но не создавать их.

(обратите внимание, что указанный ниже URL-адрес https://fakepastebin.comявляется всего лишь примером, призванным придать этому вопросу некоторый контекст)

Доверенные IP-адреса: разрешить доступ кhttps://fakepastebin.com(главная страница, где они могут генерировать секреты) Недоверенные IP-адреса: разрешить доступ только к секретам (например,https://fakepastebin.com/?29c6692368e9edc9#G4j8Y2w). В общем, все, что послеhttps://fakepastebin.com/?*

Что-то вроде :

acl trusted-ip src -f /etc/haproxy/whitelist.lst
acl unprotected-pages path_beg ^/..*$

Как сделать так, чтобы незащищенные страницы были доступны всем IP? Я никогда не пробовал ограничивать главную страницу...только подстраницы, поэтому не уверен, как это сделать. Ценю отзывы!

ОБНОВЛЯТЬ: Теперь, когда все это реализовано, я могу запретить ненадежным IP-адресам переходить на URL-адрес верхнего уровня:

acl url_my_app hdr_dom(Host) -i fakepastebin.com
acl top_level_uri path_reg ^/$
acl app-query query -m reg ^(pasteid=)*[0-9a-zA-Z]{16}$
http-request deny if url_my_app top_level_uri !app-query !trusted_ips

Однако я заметил, что если я перейду по https://fakepastebin.com/foobahshshshhsнему, он перенаправит меня на URI верхнего уровня, и я смогу получить к нему доступ, а это не то, что мне нужно :( как заставить haproxy запретить ненадежным IP-адресам доступ к URI верхнего уровня https://fakepastebin.com?

Спасибо

Связанный контент