Laravel 5.7 - Разные куки на dev и производственных серверах
Установленное мной приложение Laravel работает безупречно на моем сервере CentoS 7 dev. В частности: вход и выход с помощью:
php artisan make:auth
Однако, когда я перемещаю его на свой работающий сервер, функция "выход из системы" перестает работать. Я нажимаю кнопку выхода из системы в Chrome,
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
он перенаправляет на мой экран входа в систему через функцию LoginController,
public function logout(Request $request) {
Auth::logout();
return redirect('/login');
}
но когда я набираю URL, который должен быть безопасным, этот URL загружается. Если я обновлю страницу, то она действительно выйдет из системы.
В Firefox вообще ничего не происходит при нажатии кнопки выхода на блейде.
Также, возможно, стоит отметить, что в Chrome на моем dev-сервере файл cookie, установленный для этой страницы, имеет срок действия Expires/Max-Age, равный 2 часам с сегодняшнего дня (сегодня)
2019-01-15....
что правильно.
В Chrome на моем живом сервере файл cookie истекает / Max-Age
1969-12-31....
За исключением моего APP_URL, учетных данных базы данных и почтового сервера, мои.env файлы идентичны. Я ничего не изменил - просто загрузил файлы. В остальном функционал на сайте работает отлично.
Я перепробовал много разных конфигураций и поисков, но все равно не повезло. Спасибо за чтение этого.
1 ответ
Оказывается, на моем живом сервере в моем файле.htaccess я изменял настройки Cache-Control:
<IfModule mod_headers.c>
<FilesMatch ".(php)$">
Header set Cache-Control "max-age=86400"
</FilesMatch>
</IfModule>
После удаления этих строк мое приложение Laravel теперь работает.