MAMP - O nome do host é alterado para a primeira entrada SSL do vhost para o projeto com dois localhosts [closed]

3

Eu tenho dois projetos que são uma cópia do outro no meu Mac com o MAMP. Ambos têm páginas SSL. No entanto, sempre que eu chego na página SSL segura do projeto 2, o base_url ou host muda para project1 em vez de permanecer project2. Eu sei que isso é um problema com os vhosts, porque se eu mudar a ordem das entradas, o inverso acontece. Aqui estão meus arquivos de configuração:

    /Applications/MAMP/conf/extra/httpd-ssl.conf


<VirtualHost _default_:443>
DocumentRoot "/Applications/MAMP/htdocs/proj1"
ServerName proj1.localhost:443
ErrorLog "/Applications/MAMP/Library/logs/error_log"
TransferLog "/Applications/MAMP/Library/logs/access_log"
SSLEngine on
SSLCertificateFile "/Applications/MAMP/conf/apache/ssl/server.crt"
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/ssl/server.key"
</VirtualHost> 

<VirtualHost _default_:443>
DocumentRoot "/Applications/MAMP/htdocs/proj2"
ServerName proj2.localhost:443
ErrorLog "/Applications/MAMP/Library/logs/error_log"
TransferLog "/Applications/MAMP/Library/logs/access_log"

SSLEngine on
SSLCertificateFile "/Applications/MAMP/conf/apache/ssl/server.crt"
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/ssl/server.key"
</VirtualHost> 

--------------------
cat /etc/hosts

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0 localhost

127.0.0.1 proj1.localhost
127.0.0.1 proj2.localhost
    
por user1322092 08.10.2012 / 05:25

2 respostas

3

Altere o

<VirtualHost _default_:443>

para

<VirtualHost *:443>

Depois, verifique se você tem

NameVirtualHost *:443

Em seguida, reinicie o apache e ele deve funcionar

EDITAR

Além disso, você não precisa dos 443 em ServerName proj1.localhost:443

    
por 08.10.2012 / 05:38
2

Isso ocorre porque o nome do host é enviado criptografado e a descriptografia SSL ocorre dentro do host virtual, não fora dele. Isso significa que o servidor não tem acesso ao nome do host quando seleciona o host virtual e, portanto, sempre selecionará o primeiro. Você pode ler mais sobre isso em wiki.apache.org

    
por 08.10.2012 / 09:39