
Я хотел бы ограничить доступ к своему серверу 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
?
Спасибо