Posso enviar um redirecionamento de um domínio separado por HTTPS?

1

Eu tenho 2x SSLs em um servidor para dois domínios diferentes. Eu fiz isso fazendo com que o número 2 de SSL apontasse para outro número de porta, neste caso 444. Código para o apache abaixo:

<VirtualHost XX.XX.XX.XX:443>
  ServerAlias *.xxxx.com
  ServerName xxxx.com
  SSLEngine on
  SSLCertificateFile /usr/local/ssh/xxx/xxx.crt
  SSLCertificateKeyFile /usr/local/ssh/xxxx/xxxx.key
  DocumentRoot /var/www/www.xxxxx.com/web/
</VirtualHost>

Listen 444
NameVirtualHost *:444

<VirtualHost xx.xx.xx.xx:444>
  ServerAlias *.yyyyyy.com
  ServerName yyyyyy.com
  SSLEngine on
  SSLCertificateFile /usr/bin/yyyyy.com.crt
  SSLCertificateKeyFile /usr/bin/yyyy.key
  SSLCertificateChainFile /usr/bin/yyyyy.crt
  DocumentRoot /var/www/www.yyyyyy.com/web/
</VirtualHost>

Atualmente, todos os meus links apontam para o link para que o usuário não veja nenhum certificado SSL inválido. A questão é que eu tenho alguns usuários que apenas digitam no link e não digitam em um port # e eles não precisam fazer isso.

Se eu visitar, link , ele verá o certificado de xxxx.com e um erro de certificado ssl inválido será exibido. Eu tentei vários mod reescrever que, se o yyyyy.com está na porta 443 para redirecionar para link

Tenho certeza de que a resposta é óbvia ... Mas, para minha vida, não consigo entender!

    
por Dave Cheney 16.06.2009 / 07:09

4 respostas

2

Isso não é possível, a menos que você tenha dois subdomínios de um domínio comum de primeiro nível e tenha obtido um certificado curinga.

A razão pela qual isso não é possível é quando um cliente digita https://yyyyy.com/ (nota, não: 444), seu navegador inicia uma conexão TLS ao processo de escuta na porta 443. Por essa porta, as informações de certificado e handshaking (que incluem o nome do host do vhost padrão ligado a essa combinação ip: port) é trocado.

Somente quando a conexão TLS for estabelecida, você poderá trocar o redirecionamento 301 do nível HTTP. Mas, a essa altura, o cliente já viu as informações inválidas do certificado para https://xxxx.com .

Além disso, percebo que você está aliasing www.xxxx.com ao mesmo vhost que xxxx.com , isso terá o mesmo efeito. Seu certificado (a menos que seja um curinga) é somente para xxxx.com ou www.xxxx.com .

    
por 16.06.2009 / 07:23
0

Antoine Benkemoun, costumava ser o caso de você não poder fazer vários SSL com vhosts baseados em nomes, mas usar portas separadas contornava essa limitação.
Você ainda não pode se não estiver usando GnuTLS

Eu vou adivinhar aqui, mas eu suspeito que você NÃO esteja usando o GnuTLS para sua biblioteca ssl de servidores web e, portanto, o que você está pedindo é vhosting e SSL com base em nome e não funcionará.

    
por 16.06.2009 / 07:37
-1

Com SSL, um IP = um certificado. Se você quiser vários certificados, obtenha um IP extra. A exceção a isso são os certificados de vários domínios que são assinados para vários subdomínios.

    
por 16.06.2009 / 07:14