迁移后所有显示“页面已过期”的页面

时间:2019-08-19 12:02:19

标签: session laravel-5.8

我的一位客户想要迁移旧的Laravel应用程序。他们的ICT部门将代码转储到了我们的服务器上,但无法正常工作。进行一些配置后,我们将获得登录页面,但是登录后,它会显示“该页面由于不活动而过期。请刷新并重试。”

Laravel 5.8 Dockerized Nginx代理

问题1:返回的html不指向公用文件夹。我尝试了多种方法修复它,但都无济于事。似乎可以提供公用文件夹中所有文件的东西是.htaccess文件

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteRule ^assets/(.*)$ https://%{HTTP_HOST}/public/assets/$1 [L,R=301]
    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^/assets/(.*)$ /public/assets/$1 [L,QSA]


    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

</IfModule>

问题2:csrf令牌可能是罪魁祸首

我在Kernel.php中禁用了VerifyCsrfToken中间件

    protected $middlewareGroups = [

        'web' => [

            \App\Http\Middleware\EncryptCookies::class,

            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

            \Illuminate\Session\Middleware\StartSession::class,

            // \Illuminate\Session\Middleware\AuthenticateSession::class,

            \Illuminate\View\Middleware\ShareErrorsFromSession::class,

            // \App\Http\Middleware\VerifyCsrfToken::class,

            \Illuminate\Routing\Middleware\SubstituteBindings::class,

        ],



        'api' => [

            'throttle:60,1',

            'bindings',

        ],

    ];

问题3:重新生成密钥并更新.env

php artisan key:generate

问题4:存储文件夹中的文件权限

我授予了该文件夹的所有权限递归

chmod 777 -R ./storage

为进行调试,我在.env文件中设置了此值

APP_DEBUG=true
APP_LOG_LEVEL=debug

会话驱动程序设置为值“文件”,但使用值“数组”进行了测试,但没有区别。

    'driver' => env('SESSION_DRIVER', 'file'),

我是Laravel的新手,我正在寻找一种解决此问题或正确调试问题的方法。

0 个答案:

没有答案