Proxy-сервер
Терминалы общаются с сервером Бюро пропусков через промежуточный proxy-сервер. Основная задача proxy — валидация всех запросов на предмет SQL-инъекций и других потенциально опасных конструкций. При необходимости можно настроить дополнительные правила проверки.
Пример правила валидации запросов в proxy-сервере, которое блокирует любые HTTP-запросы, содержащие SQL-команду DROP TABLE (в любом регистре), для защиты от SQL-инъекций, где поле pattern принимает регулярное выражение:
{
"name": "sql_drop_table",
"pattern": "(?i)drop\\s+table"
}
Файл с правилами валидации запросов находится по следующему пути внутри Docker-контейнера:
/app/bin/config/rules.json
Proxy реализован как реверс-прокси, что позволяет перехватывать и анализировать трафик даже при использовании HTTPS.
Развёртывание
Proxy поставляется в виде Docker-образа и запускается как обычное Docker-приложение.
Пример docker-compose.yml (конфигурация по умолчанию):
passoffice_validator:
image: request-validator:latest #Для получения полного образа обратитесь в службу поддержки.
restart: unless-stopped
ports:
- '8081:8081'
Укажите сертификат, в сертификате указываются все доменные имена, по которым будет доступен сервер бюро.
Для работы с Proxy-сервер по SSL воспользуйтесь инструкцией и проделайте аналогичные шаги для настроек application.properties:
server.port=8081
server.ssl.enabled=true
server.ssl.key-store=config/custom_cert.p12
server.ssl.key-store-password=your_password
# PKCS12, PEM, JKS
server.ssl.key-store-type=PKCS12
server.ssl.weak-check=true
spring.application.name=TerminalProxy
spring.main.banner-mode=off
app.show-rule-name=false #отображать название правила, которое не прошло валидацию
# Logging level
logging.level.com.aamsystems.terminalproxy.ProxyRestController=TRACE
Файл application.properties находится по следующему пути внутри Docker-контейнера:
/app/bin/config/application.properties
Настройка в PassOffice
В Корне системы укажите URL proxy-сервера (например, https://localhost:8081). На вкладке «SSL/TLS» добавьте сертификат.
После этого:
- Бюро пропусков будет обращаться к терминалам через proxy
- Терминалы будут обращаться к Бюро пропусков через proxy
Весь трафик проходит через proxy, где происходит проверка запросов на безопасность.

Схема архитектуры взаимодействия PassOffice и Терминала через Proxy