title: Laravel 419 Page Expired on production server. [ framework : Laravel | version : 7.5.2 ]
body: <p><strong>Hello !</strong></p>
  
  <p><em>Problem :</em></p>
  
  <hr>
  
  <h2><em>If i'm pushing the form for register an user, i got an 419 Page Expired</em></h2>
  
  <p>I search here for my problem :</p>
  
  <p>-1. <a href="https://stackoverflow.com/questions/46141705/the-page-has-expired-due-to-inactivity-laravel-5-5">Stackoverflow Expired due inactivity : without success for my problem</a></p>
  
  <p>-2. <a href="https://laracasts.com/discuss/channels/laravel/session-expired-error-419-during-login-and-registration-after-deployment" rel="nofollow noreferrer">Laracast Session expired : without success for my problem</a></p>
  
  <p>-3. <a href="https://laracasts.com/discuss/channels/forge/419-error-when-submitting-form-in-production-sorry-your-session-has-expired-please-refresh-and-try-again" rel="nofollow noreferrer">Laracast 419 error when submitting form on prod server : without success for my problem</a></p>
  
  <p><a href="https://i.stack.imgur.com/V2Ip6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/V2Ip6.png" alt="i think is a csrf token bug or miss configure file"></a></p>
  
  <p><em>My configuration files:</em></p>
  
  <p>my <code>.env</code>:</p>
  
  <pre><code>APP_NAME=Laravel
  APP_ENV=local
  APP_KEY=base64:7/Xz39xIIlpTf0mfMGD3l69NqHMbykHLFKglaAps4Rk=
  APP_DEBUG=true
  APP_URL=http://localhost &lt;- here i have try with my address and my ip. 
  LOG_CHANNEL=stack
  DB_CONNECTION=mysql
  DB_HOST=127.0.0.1
  DB_PORT=3306
  DB_DATABASE= &lt;- some parameter here
  DB_USERNAME= &lt;- some parameter here
  DB_PASSWORD= &lt;- some parameter here
  BROADCAST_DRIVER=log
  CACHE_DRIVER=file
  QUEUE_CONNECTION=sync
  SESSION_DRIVER=file
  SESSION_LIFETIME=120
  REDIS_HOST=127.0.0.1
  REDIS_PASSWORD=null
  REDIS_PORT=6379
  </code></pre>
  
  <p>my <code>config/session.php</code></p>
  
  <pre><code>&lt;?php
  
  use Illuminate\Support\Str;
  
  return [
  
  /*
  |--------------------------------------------------------------------------
  | Default Session Driver
  |--------------------------------------------------------------------------
  |
  | This option controls the default session "driver" that will be used on
  | requests. By default, we will use the lightweight native driver but
  | you may specify any of the other wonderful drivers provided here.
  |
  | Supported: "file", "cookie", "database", "apc",
  |            "memcached", "redis", "dynamodb", "array"
  |
  */
  
  'driver' =&gt; env('SESSION_DRIVER', 'file'),
  
  /*
  |--------------------------------------------------------------------------
  | Session Lifetime
  |--------------------------------------------------------------------------
  |
  | Here you may specify the number of minutes that you wish the session
  | to be allowed to remain idle before it expires. If you want them
  | to immediately expire on the browser closing, set that option.
  |
  */
  
  'lifetime' =&gt; env('SESSION_LIFETIME', 120),
  
  'expire_on_close' =&gt; false,
  
  /*
  |--------------------------------------------------------------------------
  | Session Encryption
  |--------------------------------------------------------------------------
  |
  | This option allows you to easily specify that all of your session data
  | should be encrypted before it is stored. All encryption will be run
  | automatically by Laravel and you can use the Session like normal.
  |
  */
  
  'encrypt' =&gt; true,
  
  /*
  |--------------------------------------------------------------------------
  | Session File Location
  |--------------------------------------------------------------------------
  |
  | When using the native session driver, we need a location where session
  | files may be stored. A default has been set for you but a different
  | location may be specified. This is only needed for file sessions.
  |
  */
  
  'files' =&gt; storage_path('framework/sessions'),
  
  /*
  |--------------------------------------------------------------------------
  | Session Database Connection
  |--------------------------------------------------------------------------
  |
  | When using the "database" or "redis" session drivers, you may specify a
  | connection that should be used to manage these sessions. This should
  | correspond to a connection in your database configuration options.
  |
  */
  
  'connection' =&gt; env('SESSION_CONNECTION', null),
  
  /*
  |--------------------------------------------------------------------------
  | Session Database Table
  |--------------------------------------------------------------------------
  |
  | When using the "database" session driver, you may specify the table we
  | should use to manage the sessions. Of course, a sensible default is
  | provided for you; however, you are free to change this as needed.
  |
  */
  
  'table' =&gt; 'sessions',
  
  /*
  |--------------------------------------------------------------------------
  | Session Cache Store
  |--------------------------------------------------------------------------
  |
  | When using the "apc", "memcached", or "dynamodb" session drivers you may
  | list a cache store that should be used for these sessions. This value
  | must match with one of the application's configured cache "stores".
  |
  */
  
  'store' =&gt; env('SESSION_STORE', null),
  
  /*
  |--------------------------------------------------------------------------
  | Session Sweeping Lottery
  |--------------------------------------------------------------------------
  |
  | Some session drivers must manually sweep their storage location to get
  | rid of old sessions from storage. Here are the chances that it will
  | happen on a given request. By default, the odds are 2 out of 100.
  |
  */
  
  'lottery' =&gt; [2, 100],
  
  /*
  |--------------------------------------------------------------------------
  | Session Cookie Name
  |--------------------------------------------------------------------------
  |
  | Here you may change the name of the cookie used to identify a session
  | instance by ID. The name specified here will get used every time a
  | new session cookie is created by the framework for every driver.
  |
  */
  
  'cookie' =&gt; env(
      'SESSION_COOKIE',
      Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
  ),
  
  /*
  |--------------------------------------------------------------------------
  | Session Cookie Path
  |--------------------------------------------------------------------------
  |
  | The session cookie path determines the path for which the cookie will
  | be regarded as available. Typically, this will be the root path of
  | your application but you are free to change this when necessary.
  |
  */
  
  'path' =&gt; '/',
  
  /*
  |--------------------------------------------------------------------------
  | Session Cookie Domain
  |--------------------------------------------------------------------------
  |
  | Here you may change the domain of the cookie used to identify a session
  | in your application. This will determine which domains the cookie is
  | available to in your application. A sensible default has been set.
  |
  */
  
  'domain' =&gt; env('SESSION_DOMAIN', null),
  
  /*
  |--------------------------------------------------------------------------
  | HTTPS Only Cookies
  |--------------------------------------------------------------------------
  |
  | By setting this option to true, session cookies will only be sent back
  | to the server if the browser has a HTTPS connection. This will keep
  | the cookie from being sent to you if it can not be done securely.
  |
  */
  
  'secure' =&gt; env('SESSION_SECURE_COOKIE'),
  
  /*
  |--------------------------------------------------------------------------
  | HTTP Access Only
  |--------------------------------------------------------------------------
  |
  | Setting this value to true will prevent JavaScript from accessing the
  | value of the cookie and the cookie will only be accessible through
  | the HTTP protocol. You are free to modify this option if needed.
  |
  */
  
  'http_only' =&gt; true,
  
  /*
  |--------------------------------------------------------------------------
  | Same-Site Cookies
  |--------------------------------------------------------------------------
  |
  | This option determines how your cookies behave when cross-site requests
  | take place, and can be used to mitigate CSRF attacks. By default, we
  | will set this value to "lax" since this is a secure default value.
  |
  | Supported: "lax", "strict", "none", null
  |
  */
  
  'same_site' =&gt; 'lax',];
  </code></pre>
  
  <p>my <code>resource/view/register.blade.php</code></p>
  
  <p><em>I have added the csrf token in the meta tag to try if that can resolve my problem but no nothing.</em></p>
  
  <p><em>--head--</em></p>
  
  <pre><code>&lt;head&gt;
  &lt;title&gt;Register&lt;/title&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="csrf-token" content="{{ csrf_token() }}"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
  &lt;/head&gt;
  </code></pre>
  
  <p><em>--starting content of y register <code>.blade.php</code>--</em></p>
  
  <pre><code> &lt;div class="limiter"&gt;
      &lt;div class="container-login100 "&gt;
          &lt;div class="wrap-login100"&gt;
              &lt;div class="login100-pic js-tilt" data-tilt&gt;
                  &lt;img src="{{ asset('assets/images/mask.jpg') }}" alt="IMG"&gt;
              &lt;/div&gt;
               @if (session()-&gt;has('message'))
                  &lt;p class="alert alert-info"&gt;
                      {{ session()-&gt;get('message') }}
                  &lt;/p&gt;
              @endif
              &lt;form class="login100-form validate-form" action="{{ route('register') }}" 
                    method="POST"&gt;
                 {{ csrf_field() }}
              &lt;!-- some fields here --&gt;
  </code></pre>
  
  <p>I have try many configuration but everything let me on the ass :)</p>
  
  <p>If someone had the same problem and knew how to fix it, I would be happy to receive your response and try the fix.</p>
  
  <p><em>Answer if you need more configuration file or another.</em></p>
  
  <p><strong>Thank you !</strong></p>