ubuntu+nginx当服务器异常时微信/企业微信/抖音数据重复回调导致服务器崩溃怎么解决?
Song •
981 次浏览 •
0个评论 •
2025年05月30日
我们最近在使用ubuntu+nginx部署服务器时;我们产品对接的是微信/企业微信/抖音等平台数据回调Hook,平时流量正常时也就几十M数据,但是一些时候流量暴增导致服务器瘫痪,如果升级服务器吧这是异常导致的成本浪费,我们想办法处理一下。
一、问题出现的原因是:
- 1、服务器偶尔卡死,当服务器恢复正常时这期间的异常数据重新推送,造成HOOK重新推送;这期间导致了服务器卡死,然后HOOK再次推送(一般会推送3次),则这样只要一堵死就导致了疏通困难。
- 2、官方服务异常后重新启动服务,这种情况会出现大量的Hook推送,如何服务器性能不达标就会出现1的情况,导致服务器崩溃。
二、如何解决?
针对这个问题我处理了一个解决方案,这个是针对推送消息不重要的情况;如果支付数据啥的不能通过这个方法来解决。
- 当服务器异常时,依然返回200状态的 success ;直接避免了重复推送导致服务器崩溃。
解决办法如下:
vim /var/www/html/success.html
# 输入success然后我们在Nginx中获取到异常然后直接返回success。
server {
listen 443 ssl;
root /var/www/baidu/public;
index index.php index.html index.htm;
server_name baidu.com;
client_max_body_size 100m;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
error_page 500 502 503 504 =200 /var/www/html/success.html;
}
location ~ /\.ht {
deny all;
}
ssl_certificate /var/www/baidu/ssl/1.crt;
ssl_certificate_key /var/www/baidu/ssl/1.key;
}fastcgi_intercept_errors on; 是 Nginx 配置中的一个指令,用于控制是否将错误页面的处理交给 Nginx 来进行。具体来说,它决定了当后端(如 PHP-FPM)返回错误状态码(例如 4xx 或 5xx 错误)时,Nginx 是否应该拦截这些错误并将它们重定向到自定义的错误页面。
-
Jquery使用xlsx实现批量导入Excel数据 2025-05-12 -
laravel11如何启用routes/api.php无状态路由 2025-03-06 -
oppo手机默认浏览器urlscheme 2025-02-13 -
mysql如何给运营人员添加只有查询权限的账号 2024-12-02 -
Mac 安装mysql并且配置密码 2024-11-20

nginx 服务器如何查看当前访问的域名