Я запускаю Apache 2.4.39 с mod_proxy
на FreeBSD. Я использую эту конфигурацию для пересылки запросов на некоторые удаленные веб-серверы (IIS). Все они работают нормально, кроме одного (остальные настроены одинаково):
<VirtualHost 192.168.0.112:80 10.75.2.130:8001>
ProxyPreserveHost On
ProxyPass "/" "http://192.168.7.112/"
ProxyPassReverse "/" "http://192.168.7.112/"
ServerName 192.168.0.112
</VirtualHost>
Он работает, но иногда он просто возвращает пустую страницу в течение нескольких минут (и это автоматически исправляется). Я подумал, что это связано с количеством подключений, поэтому я активировал mpm_worker_module
с этой конфигурацией:
<IfModule mpm_worker_module>
ServerLimit 256
StartServers 64
MaxRequestWorkers 1024
MinSpareThreads 128
MaxSpareThreads 512
ThreadLimit 1024
ThreadsPerChild 1024
</IfModule>
чего более чем достаточно. Но это не устранило проблему. Я также пытался увеличить тайм-аут прокси до получаса, но безуспешно.
Пример вывода журнала, когда он возвращает пустую страницу:
192.168.100.75 - - [07/Oct/2019:06:47:57 +0000] "GET / HTTP/1.1" 200 -
192.168.100.75 - - [07/Oct/2019:06:47:57 +0000] "GET /favicon.ico HTTP/1.1" 404 1245
Я должен отметить, что веб-сервер IIS отлично работает при прямом доступе, поэтому проблема должна быть в Apache.