Я запускаю приложение 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,
Я не понимаю, что является причиной проблемы и как ее исправить. Любая помощь приветствуется.