Tenho um servidor web Scala+AKKA que usa https, juntamente com um aplicativo web React+NextUI que usa ssl. O sistema operacional do servidor real executa nginx e redireciona as chamadas apropriadamente para o next ou para o servidor web Scala.
Gostaria de entender se devo gerar certificados SSL apenas para o nginx e usá-los para os outros aplicativos por trás dele ou se todos eles precisam de certificados separados?
Se alguém pudesse explicar o processo, seria incrível. SSL é muito novo para mim.
EDITAR:
Estou usando o crypt
módulo javascript, portanto DEVO iniciar o Next com https. Não tenho escolha nisso, pois o crypt não funcionará sem conexão ssl. Então, apenas configurar ssl com nginx
e deixá-lo passar para next como http não é uma opção
Para proteger sua arquitetura com SSL enquanto atende aos requisitos do seu aplicativo React+NextUI e servidor web Scala+AKKA, você precisa principalmente gerenciar a terminação SSL de forma eficaz. Veja como você pode abordar isso:
Certificado SSL Único para NGINX: O NGINX atua como um proxy reverso e manipula todo o tráfego HTTPS de entrada. Configure um certificado SSL válido no NGINX para encerrar o SSL nesta camada. Isso garante a comunicação criptografada entre clientes e o NGINX. Para a maioria das configurações, isso é suficiente porque os serviços de backend normalmente se comunicam por uma rede interna onde o HTTPS não é obrigatório.
React+NextUI com requisito HTTPS: como o módulo JavaScript crypt no React+NextUI exige HTTPS, você tem duas opções:
Opção 1: Proxy HTTPS via NGINX: Configure o NGINX para se comunicar com o aplicativo NextJS usando HTTPS. Nesse caso, você pode reutilizar o mesmo certificado SSL para o NGINX e o aplicativo NextJS (se hospedado no mesmo domínio/subdomínio). Opção 2: Certificado SSL separado: Se o aplicativo NextJS exigir comunicação HTTPS direta (não proxy pelo NGINX), gere e configure um certificado SSL separado para ele. Pode ser um certificado válido de uma CA ou um autoassinado se o tráfego for interno.
Scala+AKKA Backend: Para o Scala+AKKA backend, HTTPS não é obrigatório se ele se comunicar internamente com o NGINX. Configure o NGINX para encaminhar solicitações como HTTP, a menos que políticas de segurança específicas exijam HTTPS de ponta a ponta.