Múltiplos certificados em um só IP
Server Name Indication (SNI), ou traduzido livremente como "Indicação de Nome do Servidor", é uma extensão ao protocolo TLS, que permite ao cliente (navegador de internet), informar ao servidor, no início da negociação (ou conexão), o endereço do site ao qual está tentando acessar. Desta forma, um mesmo servidor poderá utilizar vários certificados SSL associados a um mesmo IP e porta TCP (no caso, a 'porta https').
Antigamente havia uma limitação na comunicação por https, onde o endereço do site só era informado depois que a comunicação era feita. O problema era que o certificado SSL já era carregado nessa comunicação, não permitindo ao servidor 'escolher' o certificado correto do site a ser disponibilizado para o cliente.
Sendo assim, através do SNI, não há mais a obrigatoriedade de se utilizar IPs exclusivos para cada certificado SSL, permitindo uma portabilidade maior de IPs.
Todos os navegadores de internet mais recentes já suportam este tipo de implementação. Consulte abaixo a lista de compatibilidade.
Na Task, este tipo de configuração é possível para os certificados gratuitos Let's Encrypt. Portanto, não é necessário contratar IPs adicionais para manter seu site seguro.
Compatibilidade
Aplicativo | Tipo | Disponível | Observações | Disponível desde |
---|---|---|---|---|
Internet Explorer | Navegador de internet | sim | Desde a versão 7 on Vista (Não disponível em XP) | 2006 |
Mozilla Firefox | Navegador de internet | sim | Desde a versão 2.0 | 2006 |
cURL | Comando e biblioteca | sim | Desde a versão 7.18.1 | 2008 |
Safari | Navegador de internet | sim | Não disponível em Windows XP | |
Google Chrome | Navegador de internet | sim | Desde 6.0 | 2010 |
BlackBerry 10 | Navegador de internet | sim | Disponível em todas as versões BB10 | 2013 |
BlackBerry OS | Navegador de internet | não | Não disponível na versão 7.1 ou antigas | |
elinks | Navegador de internet | não | Não disponível na versão 0.12pre6 ou antigas | |
Windows Mobile | Navegador de internet | sim | Após a versão 6.5 | |
Android default browser | Navegador de internet | sim | Honeycomb (3.x) para tablets e Ice Cream Sandwich (4.x) para celulares | 2011 |
Firefox for Android | Navegador de internet | parcialmente | Disponível para navegação. Sync e outros serviços não disponíveis | |
wget | Comando | sim | Desde a versão 1.14 | 2012 |
Nokia Browser for Symbian | Navegador de internet | não | ||
Opera Mobile for Symbian | Navegador de internet | não | Não disponível em Series60 | |
IBM HTTP Server | Web server | sim | Desde a versão 9.0.0 | |
Apache Tomcat | Web server | sim | Não disponível antes 8.5 (backport from 9) | |
Apache HTTP Server | Web server | sim | Desde a versão 2.2.12 | 2009 |
Microsoft IIS | Web server | sim | Desde a versão 8 | 2012 |
nginx | Web server | sim | Desde a versão 0.5.23 | 2007 |
Jetty | Web server | sim | Desde a versão 9.3.0 | 2015 |
Qt | Biblioteca | sim | Desde a versão 4.8 | 2011 |
NSS server side | Biblioteca | não | ||
4th Dimension | Biblioteca | não | Não disponível em 15.2 ou antigas | |
Java | Biblioteca | sim | Desde a versão 1.7 | 2011 |
ColdFusion / Lucee | Biblioteca | sim | ColdFusion Desde a versão 10 Update 18, 11 Update 7, Lucee Desde a versão 4.5.1.019, Version 5.0.0.50 | 2015 |
Erlang | Biblioteca | sim | Desde a versão r17 | 2013 |
Go | Biblioteca | sim | Desde a versão 1.4 | 2011 |
Perl | Biblioteca | sim | Desde a versão 1.50 do Net::SSLeay e 1.56 de IO::Socket::SSL |
2012 |
PHP | Biblioteca | sim | Desde a versão 5.3 | 2014 |
Python | Biblioteca | sim | Suportado em 2.x de 2.7.9 e 3.x de 3.2 (nos módulos ssl , urllib[2] e httplib ) |
2011 para Python 3.x e 2014 para Python 2.x |
Ruby | Biblioteca | sim | Desde a versão 2.0 (in net/http ) |
2011 |