Nginx не пересылает файлы cookie laravel Sanctum csrfPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Nginx не пересылает файлы cookie laravel Sanctum csrf

Сообщение Anonymous »


Описание:

У меня есть веб-приложение, работающее в контейнере докеров, как показано ниже:
[*]Фронтенд: React [*]Бэкенд: PHP 8.2/Laravel 10 [*]Веб-сервер Nginx v1.25
Я использую Laravel Sanctum для обработки сеансов cookie.

Проблема:

Когда я нажимаю на конечную точку /sanctum/csrf-cookie, он возвращает 200 пустых ответов без установки сеанса cookie или заголовка Set-Cookie, будь то из интерфейса или почтальона.

Ожидаемый результат:

Он должен вернуть 204 ответа без содержимого и установить сеанс cookie с заголовком Set-Cookie.

Коды:

Файл конфигурации Nginx:

вышестоящий docker-backend { серверная часть; } сервер { слушай 80; слушай [::]:80; имя_сервера localhost; корень /var/www/html/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; индекс index.php; кодировка utf-8; расположение / { proxy_pass http://docker-backend; proxy_set_header Хост $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-CSRF-TOKEN $cookie_csrf_token; proxy_set_header Файл cookie $cookie_session; try_files $uri $uri//index.php?$query_string; } error_page 404 /index.php; местоположение ~ \.php$ { add_header 'Access-Control-Allow-Origin' $http_origin; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; add_header 'Access-Control-Allow-Headers' '*'; Бэкэнд fastcgi_pass: 9000; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; включить fastcgi_params; } } Файл docker-compose.yml

услуги: # БЭКЭНД бэкэнд: строить: контекст: ./бэкэнд файл докеров: файл докеров имя_контейнера: серверная часть порты: - 9000:9000 объемы: - ./backend:/var/www/html зависит от: - mysql_db сети: приложение: псевдонимы: - бэкэнд # ВНЕШНИЙ ИНТЕРФЕЙС внешний интерфейс: строить: контекст: ./интерфейс файл докеров: файл докеров имя_контейнера: интерфейс телетайп: правда порты: - 5173:5173 объемы: - ./интерфейс:/интерфейс зависит от: - бэкэнд ссылки: - бэкэнд сети: - приложение # Нгинкс Нгинкс: изображение: nginx:alpine имя_контейнера: nginx перезапуск: если не остановлен телетайп: правда порты: - «8000:80» объемы: - ./backend:/var/www/html - ./backend/nginx/:/etc/nginx/conf.d/ сети: - приложение сети: приложение: водитель: мост Бэкэнд php Dockerfile :

ИЗ php:8.2-fpm-alpine3.19 RUN apk добавить libzip-dev ЗАПУСТИТЕ docker-php-ext-install pdo pdo_mysql zip ЗАПУСТИТЬ Curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer ЭКСПОЗИЦИЯ 9000 CMD ["php-fpm"] Я перепробовал все возможные конфигурации Nginx, которые нашел, и все они возвращают один и тот же ответ (у меня есть базовый опыт работы с Nginx)
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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