Vários sites SSL no mesmo servidor Apache

2

Ainda estou tendo problemas ao tentar obter vários certificados SSL válidos para trabalhar em vários domínios de website no mesmo servidor Apache-Ubuntu. Os navegadores clientes precisam validar com êxito os certificados SSL para o Internet Explorer no WinXP, Vista e Win 7, FF em todos os sistemas operacionais e Safari no Mac OSX.

Eu tentei fazer essa pergunta algumas vezes antes, mas como eu não articulei bem meu problema, obtive boas respostas que não me ajudaram a atingir meu objetivo final.

Por exemplo, tentei obter vários SSL para trabalhar em um único IP e porta (q1) usando NameBasedVirtual hosting e SNI (q2).

Mas o problema é que ele não funciona para alguns dos navegadores mais antigos, como o Internet Explorer 7 no Windows XP (funciona bem no IE7 no Windows Vista).

Então eu tentei algo que eu acho chamado aliasing de IP. Eu comprei um novo endereço IP 2.2.2.2. Agora eu tenho dois: 1.1.1.1 e 2.2.2.2. Eu emiti os seguintes comandos shell para adicionar 2.2.2.2 ao meu servidor:

john@server> ifconfig eth0:1 2.2.2.2 netmask 255.255.255.0
john@server> route add -host 2.2.2.2 dev eth0:1

E certifiquei-me de que as duas linhas seguintes existissem no meu arquivo / etc / hosts

1.1.1.1 john1
2.2.2.2 john2

Eu, então, configuro meus arquivos vhost exatamente como mostrado em q1 . Eu reiniciei o Apache, mas todos os meus sites vieram através do IP 1.1.1.1 em vez do IP 2.2.2.2. Como resultado, o IE7 no Win XP lançou um erro "certificado não confiável". Quando alterei qualquer um dos < VirtualHost *: 443 > para o < VirtualHost 2.2.2.2:443>, TODOS os navegadores de clientes reclamaram que o "certificado não é confiável" do site (provavelmente tinha algo a ver com o site usando o endereço IP 1.1.1.1 em vez do endereço IP 2.2.2.2).

Estou de volta ao meu problema original. Onde posso encontrar um guia passo-a-passo sobre como configurar vários SSL no mesmo servidor apache-ubuntu? Alguém pode me ajudar a solucionar esse problema?

Obrigado

    
por John 05.02.2010 / 16:06

2 respostas

0

Ok, eu descobri o meu problema. Eu precisava ir para o gerenciador de arquivos de zona / DNS e apontar cada domínio para seu respectivo endereço IP de registro (por exemplo, site2.com para 2.2.2.2). Depois disso, os arquivos do VirtualHost foram capazes de reconhecer

<VirtualHost 2.2.2.2:80> and <VirtualHost 2.2.2.2:443>

Dessa forma, o Apache poderia começar a associar cada nome de domínio ao seu respectivo endereço IP.

    
por 05.02.2010 / 19:00
1

Você está no caminho certo aqui. Basicamente, você deve ter um endereço IP único por site SSL que você planeja hospedar. O raciocínio para isso é que o handshake SSL é executado primeiro e não sabe nada do nome do domínio que você está tentando se conectar também. Somente após o handshake SSL ser executado, a solicitação HTTP será transmitida para o servidor.

Minha sugestão seria ir para uma configuração & habilitar um host virtual SSL por domínio com um endereço IP correspondente.

    
por 05.02.2010 / 16:16