Apache Multiple Domains e Multiple SSL para o mesmo IP e pasta

0

Estou construindo um sistema e preciso usar o mesmo IP e a mesma pasta para um site com vários domínios e um certificado SSL separado para cada um. Além disso, não quero que eles redirecionem ou encaminhem, porque o site pode manipular os diferentes domínios por conta própria.

então

site1.example.com 192.168.0.2:443 /var/www/html

site2.example.com 192.168.0.2:443 /var/www/html

site3.example.com 192.168.0.2:443 /var/www/html

site4.example.com 192.168.0.2:443 /var/www/html

Estou usando o Ubuntu 14.04 com o Apache2 Eu realmente não tenho idéia de como o arquivo hosts deve procurar por isso, alguém pode me mostrar um exemplo?

    
por Super Saiyan Wizard 12.01.2017 / 18:19

1 resposta

0

Anteriormente, era doloroso ter vários certificados SSL em vários sites hospedados em um único endereço IP. Devido a este site, os administradores precisam investir mais dinheiro para comprar endereços IP individuais. No entanto, agora, com a ajuda do SNI (Server Name Indicator), é possível proteger vários sites com certificados SSL diferentes em um único protocolo de Internet no Apache.

Configurar o SNI com o Apache:

Primeiro, faça um novo backup do seu arquivo .conf

Agora, para alcançar as funcionalidades mencionadas acima, você precisa criar um host virtual em seu servidor. Crie um novo arquivo .conf para o novo Host Virtual ou use o existente. Se você está criando um novo arquivo .conf você precisa adicionar a seguinte linha no arquivo .conf existente.

Include my_other_site.conf

Agora, liste seus endereços IP públicos na diretiva NameVirtualHost usando a porta *: 443. Depois disso, você precisa apontar o Certificado Raiz, o Certificado Intermediário e o Arquivo SSL para cada um dos sites. Veja abaixo o exemplo para mais:

NameVirtualHost *:443

<VirtualHost *:443>
 ServerName site1.domain.com 
 DocumentRoot /var/www/site
 SSLEngine on
 SSLCertificateFile /path/to/site1_domain_com.crt
 SSLCertificateKeyFile /path/to/site1_domain_com.key
 SSLCertificateChainFile /path/to/CA.crt
</VirtualHost>

<VirtualHost *:443>
 ServerName site2.domain.com
 DocumentRoot /var/www/site2
 SSLEngine on
 SSLCertificateFile /path/to/site2_domain_com.crt
 SSLCertificateKeyFile /path/to/site2_domain_com.key
 SSLCertificateChainFile /path/to/CA.crt
</VirtualHost>

Isso deve funcionar corretamente, mas, na minha opinião, você não deve usar certificados SSL diferentes em sites diferentes quando puder obter SSL único (nomes alternativos de assuntos), pois pode proteger vários sites com um único certificado. E se você tiver apenas subdomínios para proteger sob um domínio, você pode simplesmente optar pelo Wildcard SSL, que pode ser uma opção econômica. Você só precisa emitir o certificado Wildcard como *.domain.com e tudo (somente primeiro nível) no lugar do asterisco (*) será coberto.

O certificado SSL e SAN da Wildcard reduzirá o custo e o trabalho de gerenciamento. Leia este artigo se você quiser entender a diferença entre o Wildcard SSL e SAN.

    
por 07.02.2017 / 14:39