Разрешение файла cookie Laravel 5.5 не задано в заголовке запроса, что приводит к неактивности страницы при входе в систему - PullRequest
0 голосов
/ 24 июня 2018

Я запускаю приложение Laravel 5.5 на локальной машине разработки и в Windows Server 2012 производства, и нет никаких проблем. Однако, когда я развернул свое приложение в Centos 6 Linux, приложение выдает ошибку бездействия страницы при входе в систему. Расследование показало, что причиной ошибки является то, что cookie заголовка запроса не установлен.

Мой заголовок запроса, который работает на моей локальной машине разработки, выглядит следующим образом:

...
Cache-Control   max-age=0
Connection  keep-alive
Cookie  XSRF-TOKEN=eyJpdiI6InlGZ0l3OUV…3OGEzNWY5MDliOWVmZjYifQ%3D%3D
Host    localhost
Referer http://localhost/abc/public/
Upgrade-Insecure-Requests   1
User-Agent  Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/60.0

Заголовок ответа следующим образом

...
Keep-Alive  timeout=5, max=100
Server  Apache/2.4.29 (Win32) OpenSSL/1.0.2l PHP/7.1.11
Set-Cookie  XSRF-TOKEN=eyJpdiI6InFaMzI0QjV…:41 GMT; Max-Age=1799; path=/
Set-Cookie  abc_app_session=eyJpdiI…5MjBkIn0%3D; path=/; HttpOnly
Transfer-Encoding   chunked
X-Powered-By PHP/7.1.11

Соответствующий заголовок запроса и ответа от моего продукта linux выглядит следующим образом

Запрос:

Connection keep-alive
Host    www.abc.com
x-https 1
Upgrade-Insecure-Requests   1
User-Agent Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/60.0

Ответ:

Connection  Keep-Alive
Content-Type    text/html; charset=UTF-8
Date    Sun, 24 Jun 2018 14:49:22 GMT
Keep-Alive  timeout=5, max=100
Server  Apache
Transfer-Encoding   chunked

Без маркера XSRF в куки-файлах Laravel 5.5 не сможет проверить соответствие сеансу на сервере, что приведет к неактивности страницы. Я понятия не имею, но подозреваю, что это может быть проблема с правами Linux, которая препятствует передаче куки между клиентом и сервером. Я использую соединение https для Linux. Я попробовал следующее, но это не работает:

1- Использование php artisan config: кеш для очистки всего старого кеша и сеанса
2 - с использованием php artisan view: очистить, чтобы очистить все просмотры
3 - chmod 755, чтобы рекурсивно установить разрешение для начальной загрузки / кэша и папки хранения
4-chown apache, чтобы изменить группу владельца как начальной загрузки / кэша, так и хранилища на apache.
5- session_driver = file
session_encrypt = ложь
Cache_driver = файл
6- 'domain' => env ('SESSION_DOMAIN', null),
'secure' => env ('SESSION_SECURE_COOKIE', false),
'http_only' => true,

Я не понимаю, что является причиной проблемы и как ее исправить. Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...