Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.1K
Visualizações
Cómo determinar http vs https en nodejs / nextjs api handler

Para construir correctamente mis direcciones URL en mis mapas de sitio xml y fuentes rss, quiero determinar si la página web se sirve actualmente en http o https, por lo que también funciona localmente en desarrollo.

 export default function handler(req, res) { const host = req.headers.host; const proto = req.connection.encrypted ? "https" : "http"; //construct url for xml sitemaps }

Sin embargo, con el código anterior también en Vercel, todavía se muestra que se sirve a través de http . Espero que se ejecute como https . ¿Hay una mejor manera de averiguar http vs https ?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Como las rutas api de Next.js se ejecutan detrás de un proxy que se descarga a http, el protocolo es http .

Al cambiar el código a lo siguiente, pude verificar primero en qué protocolo se ejecuta el proxy.

 const proto = req.headers["x-forwarded-proto"];

Sin embargo, esto romperá la cosa en el desarrollo donde no se ejecuta detrás de un proxy, o una forma diferente de implementar la solución que también podría no involucrar un proxy. Para admitir ambos casos de uso, finalmente terminé con el siguiente código.

 const proto = req.headers["x-forwarded-proto"] || req.connection.encrypted ? "https" : "http";

Siempre que el encabezado x-forwarded-proto no esté presente ( undefined ), recurrimos a req.connection.encrypted para determinar si debemos servir en http o en https .

Ahora funciona tanto en localhost como en una implementación de Vercel.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda