Назад | Перейти на главную страницу

Таймаут обратного прокси-сервера Apache через 60 секунд

У меня есть обратный прокси-сервер Apache, который запрашивает прокси на моем внутреннем сервере Apache. Я использую Apache версии 2.4 на платформе Linux.

Я столкнулся со страницей тайм-аута и HTTP-ОШИБКОЙ 504, когда внутренний сервер Apache занимает более 60 секунд (страница PHP ожидает результатов от запроса Mysql на внутреннем сервере Apache)

Тайм-аут Apache по умолчанию установлен на 300 секунд.

Эта проблема возникает только при доступе к веб-сайту через обратный прокси-сервер apache. Он хорошо работает с использованием внутреннего IP.

Я попытался установить следующие параметры для proxypass, но безуспешно.

ProxyPass / http://internal-ip:8080/ retry=1 acquire=3000 timeout=600 Keepalive=On

Я также попытался использовать ProxyPass на несуществующем IP-адресе, который также показывает 504 HTTP ERROR через 60 секунд.

Пожалуйста, помогите мне разобраться в этой проблеме.

<VirtualHost *:80>
 ServerName mywebsite.example.com
 ServerAlias www.mywebsite.example.com
 ProxyPreserveHost On
 DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/mywebsite.example.com-error.log
        CustomLog ${APACHE_LOG_DIR}/mywebsite.example.com-access.log combined

 RewriteCond %{REQUEST_METHOD} !^(GET|POST)$
 RewriteRule .* - [R=405,L]
 ProxyPass /.static-pages !
 ProxyPass / http://<Internal Apache Server IP>/
 ProxyPassReverse / http://<Internal Apache Server IP>/
</VirtualHost>

С участием ProxyPass директиву, вы можете рассмотреть connectiontimeout параметр.

Обратитесь к документации Apache httpd mod_proxy: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#workers

connectiontimeout Параметр задает количество секунд, в течение которых Apache httpd ожидает завершения создания соединения с серверной частью.

Значение параметра по умолчанию: 60-е годы ...