Depende do seu ambiente de implantação, mas eu diria que "TLS em todas as coisas" é a melhor prática. Você pode usar certificados internos ou autoassinados nos serviços da Web confiáveis por seu proxy e, em seguida, um único certificado "real" no proxy que fala com o mundo.
Se você tem uma rede protegida, em um datacenter protegido, sem possibilidade de bisbilhotar, então fazer HTTPS apenas para o mundo externo e HTTP não criptografado internamente pode estar certo. Observe que esses critérios especificamente excluem qualquer coisa como AWS ou provedores de hospedagem compartilhada nos quais você não tem sua própria infraestrutura de rede protegida dedicada.
Com Vamos criptografar agora em versão beta pública, a instalação do certificado é gratuita, automatizada e fácil. Então, basta fazer o TLS em tudo e redirecionar as chamadas HTTP simples para HTTPS.