Ограничения для Standalone#
Ограничение по User Agent#
В целях информационной безопасности и обеспечения корректной работы современных веб-приложений требуется ограничить доступ клиентов, использующих устаревшие версии браузеров. Такие браузеры не поддерживают актуальные криптографические протоколы и современные стандарты верстки, что делает их уязвимыми и несовместимыми с функционалом системы.
Ниже в разделах примеры настройки отклонения запросов по заголовку User-Agent на уровнях балансировщика HaProxy и Ingress-контроллера.
Для Standalone ограничение можно настроить через конфиг HaProxy - /etc/haproxy/haproxy.cfg
Пример конфигурации#
Конфиг HaProxy /etc/haproxy/haproxy.cfg:
frontend haproxynode
bind *:80
bind *:443 ssl crt /etc/ssl/globalerp/haproxy_ssl.pem
mode http
capture request header User-Agent len 512
acl is_ie hdr_sub(User-Agent) -i MSIE # "MSIE" - указать нужный user agent
acl is_ie_test_page path_beg /ie-test
use_backend test-ie-page if is_ie || is_ie_test_page
http-request set-header X-Forwarded-Proto https if { ssl_fc }
http-request set-header X-Forwarded-Port %[dst_port]
redirect scheme https code 301 if !{ ssl_fc }
default_backend backendnodes
backend test-ie-page
http-request return status 200 content-type "text/html" file /etc/haproxy/errors/ie-warning.html # Путь до странички заглушки
http-response set-var(txn.user_agent) req.hdr(User-Agent)
backend backendnodes
balance leastconn
option forwardfor
cookie GS_BALANCER_SERVER_NAME insert
option httpchk
http-check send meth HEAD uri / ver HTTP/1.1 hdr Host localhost
server global-server-01 localhost:8080 check cookie global-server-01
Html заглушка /etc/haproxy/errors/ie-warning.html:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Браузер Internet Explorer не поддерживается</title>
<style>
body { font-family: Arial, sans-serif; text-align: center; margin-top: 80px; background: #f8f8f8; }
h1 { color: #d32f2f; font-size: 28px; }
p { font-size: 18px; color: #444; margin: 15px 0; }
</style>
</head>
<body>
<h1>⚠️ Internet Explorer не поддерживается</h1>
<p>Данная система не работает в Internet Explorer.</p>
<p><strong>Пожалуйста, используйте современный браузер:</strong></p>
<p>Google Chrome, Mozilla Firefox, Яндекс Браузер</p>
<hr>
<p><strong>User-Agent:</strong> %[var(txn.user_agent)]</p>
</body>
</html>