这两天一个技术群里问到为什么我的服务端里报502错误,会是什么原因呢。
本着学习的态度找了下,然后试了下。以下为我的个人总结:
其实502,504有什么界线么?其实从程序端来说还真没有。
但从服务端来说应该是这样 (由于我用的是php 这里就以php-fpm为例):
如果: web server timeout > php-fpm timeout 这时候程序超时 那么你会看到502错误
如果:web server timeout < php-fpm timeout 这时候程序超时 那么你会看到504错误
测试如果(以504为例):
nginx 配置:
fastcgi_read_timeout 20;
php-fpm配置:
request_terminate_timeout = 30
php代码:
<?php echo "hello world"; sleep(32); echo "sleep 32";
报错信息:
反之就为502