Laravel POST для Nginx вызывает HTTP 400Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel POST для Nginx вызывает HTTP 400

Сообщение Anonymous »

  • Я использую Apache для разработки и Nginx на новом рабочем сервере, который я только что предоставил.
  • В моем проекте Laravel есть форма (X), которая приводит к HTTP 400 при отправке POST в Nginx с использованием Chrome. Она не похожа на типичную страницу ошибки Laravel
    Oops! An Error Occurred
    The server returned a "400 Bad Request".
    Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.
  • storage/logs/laravel.log также пуст, когда отображается HTTP 400, что подтверждает, что это не ошибка, сгенерированная PHP.
  • Когда я формирую X POST для того же кода, работающего на Apache, я получаю HTTP 200.
  • Еще более странно, когда я отправляю POST в Nginx, используя другую форму, например вход, он возвращает HTTP 200.
  • В совокупности это представляет для меня довольно запутанную картину.
  • Я предоставил свою конфигурацию Nginx, блейд и воспроизведение запроса с помощью Curl с помощью Chrome.
  • Я пытаюсь понять, почему это происходит на Nginx и каковы мои варианты правильной POST для обоих типов серверов, учитывая, что я могу управлять только блейдом
Nginx конфигурация
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";

index index.php;

charset utf-8;

index index.html;

# Security Headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self' http: https: data: blob;" always;

error_page 404 /index.php;

location ~ ^/index\.php(/|$) {
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_hide_header X-Powered-By;
}

Лезвие

@csrf
Submit


Воспроизведение Nginx HTTP 400 с помощью Curl (сгенерированного Chrome)
curl 'https://example.com' \
-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
-H 'accept-language: en-US,en;q=0.9' \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-b 'XSRF-TOKEN=eyJpdiI6Ik9lK0JLZWhqWEUrOVR6TWxtYWgyMHc9PSIsInZhbHVlIjoiQys0N0ZNOFpXZGR6SFcyaGk5d0w1LzBDblFNQmF6b045WmV1UjR2Z2xUZFA0RFRFMVhWQjA5Y0M2d2pjRzdNSUFSRzc5cmc5NlhKWUdQUmZoUDI4RDJzbnMvMUhWd0IzNVREbG5XRHVRM1Y2Mm1xY1NwL2V4ckpiV2pKQThyVm8iLCJtYWMiOiI0MWVjM2U2NWI4OTNkZmFlMDkzZDgwNzE2NmVmM2Y4MDI2NGIxMGZjZjc1OTFhZDBmMGY4ZTBiMDk3MmU4NzVjIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6ImhYZXhLZHl4K1FEVC9HcVR6OXdwcmc9PSIsInZhbHVlIjoiZjcvRGlYSEJXSGIvanBuQmdPNlVnMENGWmxyTURPbGJNNHprUVV5ZDg5ck8rWXJCQ2FPM2FXZ2NCczRSVXVFNUlVRkpweVdHOGpYQnFTcUlGTk1MVTBaZG10UlprK3g1UitENUd6K0VWMklSSTBPNld1NG5pMU5jakN2c2taYWwiLCJtYWMiOiIyZTMyODQ4MjI4MjY1YmExMWZlNDdhNTdjZWIxZTQ3NDM5OTQ1NDY4OWExNWM0ZTE5YzBlNDk5ZjExMGY5ZTQ3IiwidGFnIjoiIn0%3D' \
-H 'dnt: 1' \
-H 'origin: https://example.com' \
-H 'pragma: no-cache' \
-H 'priority: u=0, i' \
-H 'referer: https://example.com' \
-H 'sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Windows"' \
-H 'sec-fetch-dest: document' \
-H 'sec-fetch-mode: navigate' \
-H 'sec-fetch-site: same-origin' \
-H 'sec-fetch-user: ?1' \
-H 'upgrade-insecure-requests: 1' \
-H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36' \
--data-raw '_token=&email=dibo%40example.com&name=Amal+Britt&mobile_number=1&workshop_date=inform_next_webinar&push-subscription-data=&g-recaptcha-response='


Подробнее здесь: https://stackoverflow.com/questions/798 ... s-http-400
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»