Me encontré con este problema hace unos días después de poner mi sitio web en producción. Después de iniciar sesión o registrarse o cualquier otra solicitud POST, me da el error Página no encontrada 419. En localhost todo funciona bien. Ya me tomó más de 4 días de investigación y no pude encontrar una solución. Probablemente esté relacionado con la verificación CSRF, pero ya probé todas las soluciones (sin éxito).
Las cosas que hice:
<meta name="csrf-token" content="{{ csrf_token() }}"> en la sección principalphp artisan cache:clear php artisan route:clear php artisan view:clear php artisan config:clear php artisan view:cache php artisan route:cachephp artisan key:generate?<php777 a www-data para toda la carpeta (acto desesperado)Lo principal que he notado es que en localhost el token csrf se genera una vez y después de la actualización de la página permanece igual cuando, por otro lado, en el servidor web después de cada actualización de la página cambia. Parece que la sesión no puede contener esa información y da como resultado un error.
Aquí está mi archivo .env
APP_NAME=Laravel APP_ENV=production APP_KEY=base64:s15iIzuybt78V7zZ7cHqcwCRAr1h6YfEWPArlrcqW3A= APP_DEBUG=false APP_URL=http://mydomain.tk LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=dbname DB_USERNAME=root DB_PASSWORD=dbpass BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 SESSION_DOMAIN=http://mydomain.tk REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" Estoy usando Laravel Framework en la versión 8.61.0 y PHP 8.0.10. La única solución que funcionó fue cuando comenté en la sección web de config/Kernel.php this -> \App\Http\Middleware\VerifyCsrfToken::class . Pero no es una solución completamente funcional y segura que estaba buscando. Entonces mi pregunta es, ¿existen otros enfoques para depurar este problema o soluciones que podrían ayudar? Muchas gracias chicos. Si hay algo que necesite saber que puedo proporcionarle, solo pregunte.
Elimina http:// de tu SESSION_DOMAIN .
Si el valor de config('session.domain') no coincide con su nombre de host , cada carga de página generará un nuevo token CSRF.
Así que usa SESSION_DOMAIN=mydomain.tk , SESSION_DOMAIN=.mydomain.tk o déjalo en blanco.