Sugestão de fluxo para aplicar https em aplicação node.js

Sugestão de fluxo para aplicar https em aplicação node.js

Recentemente eu vi um colega programador com dúvida de como colocar https em uma aplicação node.js então eu sugiro o seguinte fluxo que mostro na imagem abaixo.

No alt text provided for this image

Os motivos que me levaram a sugerir esse fluxo foram:

  1. Nos dias atuais todas as aplicações precisam escala é se ele fosse configurar o https na aplicação node.js quando fosse necessário criar um nova instância da aplicação seria necessário configurar novamente. Já usando o nginx basta configurar https na máquina que está rodando o nginx.
  2. Escalabilidade caso a aplicação precisar escalar basta criar um nova máquina com a aplicação e configurar o nginx para redirecionar o tráfego para nova máquina. Nesse caso você irá escalar a aplicação horizontalmente.
  3. Zonas de disponibilidades se trata de ter uma aplicação em várias regiões que o cloud provider tem data center, quando você trabalha com escalabilidade horizontal isso permite você criar sua aplicação em diferentes regiões evitando que sua aplicação pare de funcionar caso ocorra um erro em uma região.

Para habilitar o https basta apenas usar let’s encrypt e certbot para gerar o certificado ssl para um especifico domínio. Quando o domínio for acessado deve redirecionar para o nginx que depois irá redirecionar para uma das instâncias disponíveis.

Observação: se sua aplicação usa session para usuário autenticar na aplicação então você tem que habilitar “stick session” para evitar que usuário seja redirecionado para uma instância que o usuário não está autenticado ou usar o redis para armazenar as session assim você terá que habilitar “stick session”.

English version

Recently I saw a friend programmer with one question referente https one application node.js so i suggest follow the flow than shown in image below.

The reasons than me made suggest this flow:

  1. These days currently all applications need to scale up and if he configures https on application node.js when necessary create one new instance of application necessary reconfigure https. Using nginx only configures https in the machine where running nginx.
  2. Scalability In this case the application needs to scale up, only create a new machine with application and configure nginx to redirect traffic to new machine. In that case you go scale to application horizontally
  3. Zone of availability if about have many applications in different regions the cloud provider in the data center, when you work with scalability horizontally it is allow you create your application in different regions to prevent than you application stop work case occur one error in the region.

Enable https is necessary only let’s encrypt and certbot to generate certificate ssl to specific domain. When one domain is accessed must redirect to the nginx then after go redirect to one instance availability.

Observation: if your application use session to user authenticate in the application so you have enable “stick session” to prevent than user redirectlly to one instance that user no has authenticated or use redis to store session.

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos