Phinous Posted January 3, 2020 Share Posted January 3, 2020 (edited) Bonjour, Depuis quelques jours ma boutique prestashop affiche régulièrement des erreurs 500. Un refresh suffit généralement à charger la page correctement, mais c'est déroutant pour mes visiteurs. Mon outil de supervision indique clairement un changement de charge serveur dans le courant de la journée du 1er janvier: Quelques infos sur mon installation : Type d'install : MAJ faite cet été depuis la 1.6 Version de PS : 1.7.6.1 Thème : personnalisé Code : original Hébergement : OCH - VPS 2016 Cloud 2 avec 4Go de RAM Version de PHP : 7.2.24 Version de MySQL : 5.7.28 Distribution : Ubuntu 18.04 Navigateurs concernés : à priori tous Dans les logs d'erreur de la boutique, j'ai ceci de significatif : Quote [Fri Jan 03 22:00:14.397952 2020] [php7:error] [pid 2633] [client 51.75.120.97:35670] PHP Fatal error: Uncaught PrestaShopException: Link to database cannot be established: SQLSTATE[HY000] [2002] No such file or directory in /home/me/web/domain.com/public_html/classes/db/DbPDO.php:127\nStack trace:\n#0 /home/me/web/domain.com/public_html/classes/db/Db.php(379): DbPDOCore->connect()\n#1 /home/me/web/domain.com/public_html/classes/db/Db.php(613): DbCore->query('\\n\\t\\t\\tSELECT `id_...')\n#2 /home/me/web/domain.com/public_html/classes/Hook.php(194): DbCore->executeS('\\n\\t\\t\\tSELECT `id_...', false)\n#3 /home/me/web/domain.com/public_html/classes/Hook.php(787): HookCore::getIdByName('moduleroutes')\n#4 /home/me/web/domain.com/public_html/classes/Dispatcher.php(593): HookCore::exec('moduleRoutes', Array, NULL, true, false)\n#5 /home/me/web/domain.com/public_html/classes/Dispatcher.php(249): DispatcherCore->loadRoutes()\n#6 /home/me/web/domain.com/public_html/classes/Dispatcher.php(207): DispatcherCore->__construct(Object(Symfony\\Component\\HttpFoundation\\Request))\n#7 /home/me/web/domain.com/public_html/inde in /home/me/web/domain.com/public_html/classes/db/DbPDO.php on line 127, referer: https://www.domain.com/de/42-xxxxxx?SubmitCurrency=1&id_currency=3&q=Color-Schwarz-Weiß-Perliges+Rosa&order=product.name.desc&resultsPerPage=12&productListView=grid Quote [pid 3733] [client 51.75.xx.xx:37538] PHP Warning: Error while sending QUERY packet. PID=3733 in /home/me/web/domain.com/public_html/classes/db/DbPDO.php on line 156, referer: https://www.domain..... Voici mon fichier /etc/mysql/my.cnf : [client] port=3306 socket=/var/run/mysqld/mysqld.sock [mysqld_safe] socket=/var/run/mysqld/mysqld.sock [mysqld] user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock port=3306 basedir=/usr datadir=/var/lib/mysql tmpdir=/tmp lc-messages-dir=/usr/share/mysql log_error=/var/log/mysql/error.log symbolic-links=0 skip-external-locking key_buffer_size = 256M max_allowed_packet = 32M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M innodb_file_per_table max_connections=200 max_user_connections=50 wait_timeout=10 interactive_timeout=50 long_query_time=5 !includedir /etc/mysql/conf.d/ J'ai par ailleurs cherché pas mal de pistes sur le net, modifié des paramètres dans le fichier my.cnf mais sans résultat concrets, voire une situation empirée avec un load average qui explosait. Bref je ne sais pas trop quoi toucher là dedans. J'ai cherché aussi dans les logs système pour voir si une activité anormale avait eu lieu le 1er janvier, mais je n'ai pour l'instant rien trouvé.... Edited January 13, 2020 by Phinous (see edit history) Link to comment Share on other sites More sharing options...
Phinous Posted January 5, 2020 Author Share Posted January 5, 2020 Je poursuis mon investigation et voici ce que je viens de trouver. Depuis le 1er janvier à 8h33 (changement de charge sur les graphique ci-dessus), j'ai cette erreur qui apparait dans les logs MySQL : 2020-01-01T08:33:44.767143Z 940367 [Note] Aborted connection 940367 to db: 'ZO_shop' user: 'ZO_shop' host: 'localhost' (Got timeout reading communication packets) 2020-01-01T08:33:45.502862Z 940370 [Note] Aborted connection 940370 to db: 'ZO_shop' user: 'ZO_shop' host: 'localhost' (Got timeout reading communication packets) 2020-01-01T08:33:45.526849Z 940369 [Note] Aborted connection 940369 to db: 'ZO_shop' user: 'ZO_shop' host: 'localhost' (Got timeout reading communication packets) 2020-01-01T08:33:46.026854Z 940380 [Note] Aborted connection 940380 to db: 'ZO_shop' user: 'ZO_shop' host: 'localhost' (Got timeout reading communication packets) Le timing est trop précis pour que ça soit du au hasard. Les erreurs surviennent tjrs aujourd'hui dans les logs... Link to comment Share on other sites More sharing options...
Phinous Posted January 13, 2020 Author Share Posted January 13, 2020 Résolution du soucis, qui n'avait finalement rien à voir avec Prestashop. La boutique subissait un DDoS depuis la Chine. Un blockage de toutes les IPs chinoises a suffit à endiguer l'attaque. Pour celà j'ai suivi ce tuto : https://mattwilcox.net/web-development/unexpected-ddos-blocking-china-with-ipset-and-iptables Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now