Resolvemos esse problema colocando todo o nosso SSL em um endereço IP específico e em todos os outros sites em um IP secundário. Quando fizemos isso, tudo funcionou.
É possível substituir "*" por um nome de domínio ou subdomínio?
<VirtualHost *:443>
atualização
O problema é que recebo este erro ao inicializar o apache:
[Mon Aug 16 13:42:48 2010] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
Eu tenho um virtualHost em: 443 para um subdomínio e um para um domínio principal. Quando eu removo o subdomínio, não recebo mais esse erro.
como uma nota lateral, se essa configuração puder ser mais eficiente, por favor, deixe-me saber como
domain.com config
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.domain.com
ServerAlias domain.com
ServerAlias xx.xxx.xxx.xx
# Directory Root.
DocumentRoot /sites/domain.com/www/
# Logfiles
ErrorLog /sites/domain.com/logs/error.log
CustomLog /sites/domain.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName www.domain.com
# Directory Root.
DocumentRoot /sites/domain.com/www/
# Enable SSL
SSLEngine On
SSLCertificateFile /sites/domain.com/ssl/star_domain_com.crt
SSLCertificateKeyFile /sites/domain.com/ssl/ikeyless.key
SSLCertificateChainFile /sites/domain.com/ssl/DigiCertCA.crt
SetEnvIf User-Agent ..*MSIE.*. nokeepalive ssl-unclean-shutdown
</VirtualHost>
support.domain.com config
<VirtualHost *:80>
ServerName support.domain.com
# Directory Root.
DocumentRoot /sites/support.domain.com/www/
# Logfiles
ErrorLog /sites/support.domain.com/logs/error.log
CustomLog /sites/support.domain.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName support.domain.com
# Directory Root.
DocumentRoot /sites/support.domain.com/www/
# Logfiles
ErrorLog /sites/support.domain.com/logs/error.log
CustomLog /sites/support.domain.com/logs/access.log combined
# Enable SSL
SSLEngine On
SSLCertificateFile /sites/domain.com/ssl/star_domain_com.crt
SSLCertificateKeyFile /sites/domain.com/ssl/domain.key
SSLCertificateChainFile /sites/domain.com/ssl/DigiCertCA.crt
SetEnvIf User-Agent ..*MSIE.*. nokeepalive ssl-unclean-shutdown
</VirtualHost>
Quando tento acessar o support.domain.com, ele aponta para o domínio.com e não carrega nosso site de suporte quando estiver em https, ele funciona bem em http.
Sim, essa é uma parte muito importante da configuração do apache.
Por exemplo, suponha que você esteja atendendo ao domínio www.domain.tld e deseje adicionar o host virtual www.otherdomain.tld , que aponta para o host mesmo endereço IP. Então você simplesmente adiciona o seguinte ao httpd.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
Veja a documentação completa aqui: link
A resposta final: Adicione a diretiva NameVirtualHost *: 443 à sua configuração padrão.
Você pode especificar um IP específico no lugar com o asterisco, desde que o IP seja especificado com NameVirtualHost. O nome é especificado em ServerName
e ServerAlias
.
O asterisco está correspondendo a todos os endereços IP aos quais o Apache se vincula no VirtualHost
.
Você já fez alguma coisa com o host virtual padrão?
Se você não fizer nenhuma customização, o apache criará um arquivo de configuração separado para algumas coisas SSL em conf.d / ssl.conf, e lá ele declara um host virtual chamado _default_:443
.
Se eu adicionar um vhost como *: 443 na minha configuração principal, ele dará o mesmo erro, e se eu remover o _default_:443
vhost no conf.d / ssl.conf, ele não o faz.
Não para SSL:
You cannot use name based virtual hosts with SSL because the SSL handshake (when the browser accepts the secure Web server's certificate) occurs before the HTTP request, which identifies the appropriate name based virtual host. If you plan to use name-based virtual hosts, remember that they only work with your non-secure Web server.
Atualização:
Aparentemente, os servidores da Web mais recentes suportam isso. Verifique o link fornecido pela Warner.
Tags ssl linux apache-2.2