Subdomínios XAMPP de repente não funcionam

2

OK, estou com problemas ... e isso fica cada vez pior!

Estou no Windows 7, executando o XAMPP. Eu tinha definido scads de subdomínios em localhost para diferentes projetos da web; ou seja, xyz.localhost, abc.localhost, etc. Eles estavam funcionando bem. Eu adiciono cada subdomínio em duas etapas:

  1. Eu adiciono uma seção a httpd-vhosts.conf que se parece com isso:

    <VirtualHost *>
        DocumentRoot "path/to/xampp/htdocs/xyz"
        ServerName xyz.localhost
    </VirtualHost>
    
  2. Eu adiciono uma entrada ao meu arquivo hosts (C: \ Windows \ System32 \ drivers \ etc \ hosts) que se parece com isso:

    127.0.0.1 xyz.localhost
    

Então eu reinicio o Apache. Bam Isso sempre funcionou e eu não tive que entender o profundo funcionamento interno desses arquivos.

Liguei o computador hoje para descobrir que todos os subdomínios do meu host local de repente não estão funcionando. Chrome e Firefox dizem que não podem encontrá-los. No entanto, eu ainda posso acessar http://localhost e também acessar as pastas de subdomínio usando http://127.0.0.1/xyz .

Depois de uma pequena escavação, encontrei este erro enigmático no meu log de erros:

VirtualHost _default_:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

Então, percorri os arquivos e descobri que httpd-ssl.conf tem uma seção que começa com <VirtualHost _default_:443> . No entanto, esse arquivo não foi modificado em anos, então esse provavelmente não é o problema.

Eu tentei alterar meu arquivo httpd-vhosts.conf :

  • de NameVirtualHost * a NameVirtualHost *:80 e
  • <VirtualHost *> to <VirtualHost *:80>

mas isso não funcionou.

Então, aleatoriamente, pensei em adicionar talvez Listen 443 a httpd.conf . Isso fez com que o Apache não começasse mais, então eu tirei isso.

O que está acontecendo? O que poderia ter mudado? Eu devo acrescentar que nem sei o que a porta 443 tem para o XAMPP. Eu nunca acesso nenhum dos meus sites locais usando SSL, e não preciso disso. Alguém pode me ajudar? Eu estou cutucando no escuro.

    
por John Alexander 17.03.2014 / 23:53

2 respostas

2

Para aqueles que não querem se preocupar com a loucura desse segmento, deixe-me resumir o problema e sua solução. :)

De repente, não consegui acessar nenhum subdomínio criado no host local usando o XAMPP. Eu sabia que eles estavam configurados corretamente porque eles trabalharam por um longo tempo antes do problema.

O problema acabou sendo meu arquivo hosts (C: \ Windows \ System32 \ drivers \ etc \ hosts). Este arquivo é para inserir manualmente os pares de endereço IP / nome do host, ignorando o servidor DNS e deve ser editado ao adicionar um subdomínio ao host local (veja minha pergunta sobre como fazer isso). O arquivo hosts é muito exigente sobre como está formatado, e percebi que algo havia alterado os finais de linha naquele arquivo de CRLF (Windows padrão) para CRCR . Eu tinha notado visualmente que o arquivo aparecia em espaço duplo, mas não percebi o motivo até que olhei para o hex e vi 0d0d em todo o lugar. Consegui consertar os finais de linha no Sublime Text e tudo ficou feliz novamente.

Eu suspeito que o arquivo foi danificado pelo Cisco AnyConnect Secure Mobility Client. Esta é a mais recente iteração do cliente AnyConnect VPN da Cisco que eu instalei recentemente para acessar a VPN de um cliente. Percebi uma nova linha no meu arquivo de hosts que especificava o IP dessa VPN, e acho que quando o aplicativo da Cisco adicionou essa linha, ela estragou as terminações de linha do arquivo inteiro. Minha teoria.

Obrigado, Wayne, por sua ajuda em perseguir o problema.

    
por 18.03.2014 / 20:10
0

De acordo com minhas recomendações acima.

  1. Download do xampp v1.8.3-3 e instalado em C: \ XAMPP
  2. Criadas 3 pastas em C: \ XAMPP \ htdocs \ xampp (site1, site2, site3).
  3. Criado o arquivo fictício index.htm em todas as três pastas apenas com um título do site
  4. Editado C: \ XAMPP \ Apache \ conf \ extra \ httpd-vhosts.conf e feito como tal

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/xampp"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/xampp/site1"
ServerName site1.localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/xampp/site2"
ServerName site2.localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/xampp/site3"
ServerName site3.localhost
</VirtualHost>

  1. Prompt de comando iniciado como administrador
  2. Hosts editados via: bloco de notas c: \ windows \ system32 \ drivers \ etc \ hosts
  3. Adicionadas as seguintes linhas

127.0.0.1 site1.localhost
127.0.0.1 site2.localhost
127.0.0.1 site3.localhost

  1. Iniciado o apache por meio do painel de controle do XAMPP
  2. Verificado todos os 4 sites funcionando: site1.localhost, site2.localhost, site3.localhost e apenas localhost simples (página de saudação xampp)

Para diagnosticar problemas de host virtual

  1. Verifique o arquivo de log do apache
  2. Tente fazer o ping no site e garantir que o endereço IP correto seja retornado. Se ping falhar, geralmente é um problema de entrada de arquivo DNS / Host
  3. Use algo como link para verificar se o cabeçalho http Host xxxx.xxxx está sendo definido para o site
por 18.03.2014 / 00:53