Você tem um erro de digitação:
<VirtualHost *.80>
deve ser
<VirtualHost *:80>
Estou usando o Apache 2.4 no Ubuntu 16.04.
Não importa o que eu faça - não posso fazer com que os hosts virtuais funcionem, tudo é roteado para a configuração definida em 000-default.conf .
Eu tenho os seguintes sites ativados:
dev.conf
<VirtualHost *.80>
ServerName dev.example.com
DocumentRoot "a valid path"
ProxyPass /api http://localhost:8090
ServerAdmin [email protected]
ProxyPreserveHost On
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy localhost
</VirtualHost>
000-default.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
Obviamente, o domínio foi alterado para example.com
e eu removi o caminho real do arquivo para a raiz do documento.
Ambos os arquivos aparecem /etc/apache2/sites-enabled
, e se adicionar algum lixo no dev.conf, o Apache não inicia, então eu sei que ele lê.
O DNS está configurado corretamente - nslookup para dev.example.com e example.com retornam o mesmo IP correto (testado de uma rede externa).
Eu tive uma configuração semelhante com o Debian e Apache 2.2, e funcionou muito bem (não tem mais, não pode comparar).
Qualquer solicitação que eu enviar será roteada para 000-default.conf , dev.example.com ou qualquer coisa que seja válida.example.com, pois não tenho uma diretiva DocumentRoot
(tentei adicionando também) devido ao fato de que estou redirecionando para a versão https, estou recebendo o padrão /var/www/html
.
Este caminho não aparece em nenhum arquivo de configuração e é provavelmente compilado como o valor padrão para DocumentRoot
.
Alguém tem uma ideia de como tornar o trabalho do host virtual dev.conf ?