Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 18.12.2018 18:06:39

Кэширование php в laravel через nginx + ssi

Кто-нибудь занимался кэшированием через nginx на laravel - как, например, реализовывали блок авторизации через ssi? У меня упорно кэшируется данный блок, несмотря на различные варианты настроек. Например:
server.ru.nginx.ssl.conf

server {
    listen      185.188.1.1:443;
    server_name server.ru www.server. ru;
    ...
    ssi on;
    
    #для отмены кэширования всей страницы входа на сайт
    if ($request_uri ~* "/(login)")
    {        set $no_cache 1;    }

    location / {
        ...
	#для блока со скриптом отображения авторизационной информации
	location ~ ^/ssi/ {
		fastcgi_pass 127.0.0.1:9002;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
		set $no_cache 1;
		fastcgi_no_cache 1; 
		}

В app.blade.php:

...
  <!-- Authentication Links  -->
            <!--#include virtual="/ssi/get_user_info.blade.php" wait="no" -->

Причем кэш в процессе обновления страницы не видно, данный блок постоянно обновляет инфу если вставить php echo time(), но информация о пользователе вытаскивается откуда-то.

Сами настройки кэширования в server.ru.nginx.ssl.conf

location ~ \.php$ {        
    fastcgi_ignore_headers Cache-Control Set-Cookie;
    fastcgi_cache fcgi;
    fastcgi_cache_valid 200 60m;
            
    fastcgi_cache_methods GET HEAD; 
    fastcgi_cache_bypass $no_cache;  
    fastcgi_no_cache $no_cache; 
            
    try_files $uri /index.php =404;            
    fastcgi_pass    127.0.0.1:9002;
    fastcgi_index   index.php;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
            
    include         /etc/nginx/fastcgi_params;                
        }

Изменено max1s (18.12.2018 18:23:51)

Не в сети

#2 19.12.2018 17:05:44

Re: Кэширование php в laravel через nginx + ssi

Поменял в настройках laravel SESSION_DRIVER=cookie - не особо помогло. Основная проблема - в кэше сохраняются куки а их не отключить.

Изменено max1s (19.12.2018 17:12:40)

Не в сети

#3 22.12.2018 16:01:49

Re: Кэширование php в laravel через nginx + ssi

Вариантов с ssi не нашел, можно только отключить кэширование для залогиненных через

if ($http_cookie ~ "remember_web.+") { set $no_cache 1; }

Для гостей будет все кэшироваться, причем в кэше остаются куки laravel_session и всё что есть у незалогиненных в ларавел.
Кто-то может сказать, насколько это опасно?

Не в сети

Подвал раздела