returning not name letsencrypt for failing domain custom create challenge acm heroku https

not - Forzar la aplicación de mi heroku para usar SSL(https)



heroku letsencrypt (6)

Debe agregar a la aplicación Node.js el código para redirigir la solicitud a la versión HTTPS si la solicitud proviene de HTTP.

Dependiendo del marco o las herramientas que use, la idea es simple:

  • verifique el esquema de solicitud
  • Si es http, redirigir a https pasando la misma solicitud uri y consulta

Tengo una aplicación de nodo que se ejecuta con éxito en Heroku. He comprado un certificado SSL expedito y todo funciona bien. Voy a https ... y obtengo una ''barra verde'' completa que demuestra que el sitio se ofrece a través de https

Sin embargo, el http estándar que no es SSL también está disponible. ¿Cómo puedo forzar la aplicación para que sirva a través de https? Gracias


En Heroku, es un poco difícil determinar el hecho de que la solicitud se realizó a través de http. https se maneja en una capa de enrutamiento de heroku y pasa a lo largo de la solicitud a la aplicación de nodo en http).

Esta publicación me dejó despegado http://jaketrent.com/post/https-redirect-node-heroku/


Para cualquiera que venga a este post, estaba teniendo este problema y descubrí que tenía el código en este orden, que estaba arruinando las cosas:

app.use(express.static(''build'')); app.use((req, res, next) => { if (req.header(''x-forwarded-proto'') !== ''https'') { res.redirect(`https://${req.header(''host'')}${req.url}`) } else { next(); } });

Una vez moví el método express.static (''compilación'') a continuación que envía el método app.use ¡todo funcionó!




También puede redirigir las solicitudes HTTP a HTTPS en la capa de infraestructura, sin requerir cambios en su aplicación.

El complemento Edge CDN ofrece una opción de "redireccionamiento de HTTP a HTTPS".

Coloca el CDS de AWS CloudFront frente a su aplicación, que se encarga de la redirección.

El enrutador Heroku no tiene esta característica.