Apache 反向代理超时(60 秒)

Apache 反向代理超时(60 秒)

我有 Apache 反向代理服务器,它将请求代理到我的内部 Apache 服务器。我在 Linux 平台上使用 Apache 版本 2.4。

每当后端 Apache 服务器花费超过 60 秒的时间时,我都会遇到超时页面和 HTTP 错误 504(PHP 页面等待后端 Apache 服务器上的 Mysql 查询结果)

Apache 默认超时设置为 300 秒。

仅当通过 Apache 反向代理访问网站时才会出现此问题。使用内部 IP 可以正常工作。

我尝试将以下参数设置为 proxypass,但没有成功。

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

我也尝试过在不存在的 IP 上使用 ProxyPass,60 秒后也显示 504 HTTP 错误

请帮助我理解这个问题。

<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>

答案1

有了ProxyPass指令,您就可以考虑connectiontimeout参数。

参考 Apache httpd mod_proxy 文档:https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#workers

connectiontimeout参数设置 Apache httpd 等待与后端的连接创建完成的秒数。

参数默认值为60 年代...

相关内容