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 теперь работает.

Другие вопросы по тегам