Виправте Valet, WordPress, Ajax, Bad Gateway
Деякий час тому я повернувся до використання Valet для локального розвитку, і відтоді я задоволений цим. Десь минулого тижня я ще не стикався з проблемами.
Але під час роботи над плагіном WordPress, який імпортує дані за допомогою admin-ajax, я постійно отримував цікаве повідомлення на консолі, незалежно від того, наскільки великими чи малими були дані. Зокрема, я отримував повідомлення про помилку "502 (Поганий шлюз)".
Сервер, діючи як шлюз або проксі, отримав недійсну відповідь від вхідного сервера, до якого він мав доступ під час спроби виконати запит.
І якщо ви спробуєте діагностувати це на основі цього визначення, ви не зайдете дуже далеко. Справа не в тому, що це неправильно, а в тому, що вам потрібно змінити конфігурацію сервера.
На щастя, це легко. Або це, ймовірно, легко.
Valet, WordPress, Ajax, Bad Gateway: виправлення
Перш ніж поділитися виправленням, я скажу, що це загнало мене в глибоку кролячу нору з усіма видами конфігурацій Nginx, інформацією зворотного проксі, PHP-FPM і так далі, і так далі. Якщо ви виберете для цього Google, майте на увазі, що ви, ймовірно, теж натрапите на них.
І правда, можливо, це ваша проблема (я поділюся посиланнями внизу публікації), але моє конкретне виправлення було набагато легшим, ніж це.
Припускаючи, що ви використовуєте macOS, перейдіть до каталогу .valet у вашому терміналі за допомогою такої команди:
$ cd ~/.valet
Опинившись там, знайдіть каталог Nginx і введіть:
$ ls Nginx
Перевірте, чи бачите ви файл для конкретного сервера розробки. Зауважте, що я використовую команду link замість команди park, тому у мене буде щось на зразок wptrunk.dev. Якщо у вас там немає файлу, ймовірно, це проблема.
І якщо так, введіть таку команду:
$ touch Nginx/your-site.dev
Де your-site.dev — це будь-який домен, який спричиняє проблему.
Далі відкрийте цей конкретний файл у вибраному текстовому редакторі та додайте два рядки:
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
Збережіть файл, а потім перезапустіть Valet у терміналі за допомогою простого:
$ valet restart
Потім повторіть проблему, з якою ви зіткнулися. Для мене спрацювало збільшення (або визначення) розмірів буфера до наведених вище значень. Вам можуть знадобитися більші значення, тому, як кажуть, YMMV.
Справа в тому, що виправлення може бути не надто складним, тому перш ніж почати писати весь власний файл конфігурації з нуля, спробуйте спочатку повозитися з цими значеннями.
Пов’язані посилання
- 502 помилки на admin-ajax.php
- admin-ajax.php: 502 Поганий шлюз
- URL-адреси адміністратора WordPress повертають 404
- Усунення несправностей Valet на Sierra
- Починаючи з Laravel Valet на OSX
- upstream надіслав занадто великий заголовок під час читання заголовка відповіді з висхідного потоку

