Я хотел бы ограничить доступ к моему серверу pastebin (я использую zerobin), чтобы ненадежные IP-адреса могли только открывать секреты, но не создавать их.
(обратите внимание, что URL-адрес https://fakepastebin.com
ниже приведен просто пример, чтобы дать этому вопросу некоторый контекст)
Доверенные IP-адреса: разрешить доступ к https://fakepastebin.com (главная страница, где они могут генерировать секреты)
Ненадежные IP-адреса: разрешить доступ только к секретам (например, https://fakepastebin.com/?29c6692368e9edc9#G4j8Y2w). В основном все, что после https://fakepastebin.com/?*
Что-то вроде :
acl trust-ip src -f /etc/haproxy/whitelist.lst
acl незащищенных страниц path_beg ^/..*$
Как сделать так, чтобы незащищенные страницы были доступны со всех IP? Я никогда раньше не пытался ограничивать главную страницу... только подстраницы, поэтому я не знаю, как это сделать. Цените отзывы!
ОБНОВИТЬ:
С их помощью я теперь могу предотвратить переход ненадежных IP-адресов к URL-адресу верхнего уровня:
acl url_my_app hdr_dom(Host) -i fakepastebin.com
acl top_level_uri path_reg ^/$
acl запрос запроса приложения -m reg ^(pasteid=)*[0-9a-zA-Z]{16}$
http-запрос отклонить, если url_my_app top_level_uri !app-query !trusted_ips
Однако я заметил, что если я перейду к https://fakepastebin.com/foobahshshshhs
он перенаправит меня на uri верхнего уровня, и тогда я смогу получить к нему доступ, а это не то, чего я хочу :( как я могу получить haproxy, чтобы запретить ненадежным IP-адресам доступ к uri верхнего уровня https://fakepastebin.com
?
Спасибо