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

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

Сообщение Anonymous »

  • В моем проекте Laravel есть форма (X), которая выдает HTTP 400 при отправке POST в Nginx с использованием Chrome.
  • 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»