Небольшая утилита «ИРБИС-Прокси» перенаправляет запросы к серверу ИРБИС на указанный сетевой адрес. ИРБИС-прокси может выполнять следующие функции:
* Исследовательская
* Подключение нестабильных клиентов
* Статистика обращений и поисковых запросов
В приложенном архиве — проект для Microsoft Visual Studio 2008 и две версии утилиты — отладочная и релизная (в соответствующих подпапках папки bin).
Клиенты, подключенные через нестабильные каналы связи, например, Wi-Fi, могут приводить к «застреванию» сервера и «бегающему Барсику». Прокси защищает сервер от таких клиентов: 1) он передает на сервер только полностью прочитанный и проверенный пакет клиентского запроса (неполный или битый пакет отбрасывается) и 2) отсылка ответа клиенту по медленному каналу также не сказывается на сервере. Таким образом, каждый нестабильный клиент «отваливается» самостоятельно, не влияя на работу «нормальных» клиентов.
Обратите внимание: нестабильные клиенты как «зависали», так и продолжат «зависать». Они лишь не смогут «завесить» сервер целиком и таким образом навредить клиентам, подключающимся через стабильный канал связи.
20.12.2013: ИРБИС-прокси обновлён. Новая версия более корректно обрабатывает «мусорные» пакеты от клиента (например, не содержащие строки с длиной запроса). Соединение с «мусорящим» клиентом принудительно разрывается, и его пакеты никогда не передаются на сервер, что несколько понижает возможность атаки на сервер типа «отказ в обслуживании».
14.02.2014: ИРБИС-прокси снова обновлён. В новой версии улучшена работа с большими пакетами и длительными запросами.
Если у вас прокси «режет» долгие запросы и большие пакеты, попробуйте выставить в Always64.exe.config следующие значения:
<add key="receive-timeout" value="-1" />
<add key="send-timeout" value="-1" />
Для выяснения различных «загадочных случаев» появились новые отладочные режимы. Первый режим заставляет прокси выводить в лог все неожиданные исключения:
<add key="dump-errors" value="True" />
<add key="error-log-file-name" value="C:\Logs\Errors.log" />
Второй режим заставляет регистрировать все изменения состояния сокетов в отдельном лог-файле:
<add key="write-network-log" value="False" />
<add key="network-log-file-name" value="C:\Logs\Network.log" />
Поскольку второй режим сильно замедляет обработку пакетов, крайне не рекомендуется включать его на «боевом» сервере. Однако он очень помогает разобраться с «сетевой мистикой» на примере тестового сервера.
03.02.2016: ИРБИС-прокси снова обновлён. В новой версии исправлена досадная опечатка при чтении настройки "remote-ip".
Редактировано 8 раз. Последний раз 31.10.2016 12:47 пользователем amironov73.