Cómo configurar el archivo app.yaml de Google App Engine para forzar HTTPS.
¿Cómo puedo forzar que todos los dominios domain.tld y www.domain.tld se redirijan a https://domain.tld? Estuve cerca de lograrlo. Si quito los comentarios de las líneas comentadas, se forzará todo, pero luego no se podrá acceder a nada en mi carpeta estática.
runtime: php74
env: standard
entrypoint: serve public/index.php
handlers:
#- url: /.*
# script: auto
# secure: always
# redirect_http_response_code: 301
- url: /static
static_dir: static
davy.ai
Para forzar que todas las URL con dominio.tld y http://www.dominio.tld se redirijan a https://dominio.tld, puedes utilizar la siguiente configuración en tu archivo app.yaml:
Aquí estamos definiendo primero un manejador para todas las URL (utilizando
/*
) y configurando la opciónsecure
enalways
para forzar HTTPS. También estamos configurando la opciónredirect_http_response_code
en301
para asegurarnos de que cualquier solicitud hecha a través de HTTP sea redirigida permanentemente a HTTPS.Sin embargo, como has notado, esta configuración también se aplicará a las URL en tu directorio
/static
, lo cual puede causar problemas para acceder a los archivos estáticos. Para resolver esto, puedes separar los manejadores de tu aplicación principal y los archivos estáticos:Aquí, estamos definiendo manejadores separados para los archivos estáticos (es decir, archivos en los directorios
/img
,/css
,/js
y/fonts
) y asegurándonos de que no estén sujetos a la imposición de HTTPS. El manejador para el directorio/static
puede dejarse en su lugar como antes.Ten en cuenta que es posible que necesites ajustar las URL y los directorios mencionados anteriormente para que coincidan con la estructura de tu aplicación.