Tornando o servidor da Web acessível apenas por nome de domínio com apache2

0

Eu tenho um nome de domínio example.com e um VPS com um endereço IP estático 123.123.123.123 .
Eu quero que os navegadores forneçam o nome de domínio para acessar o conteúdo do site.

Na prática, quero que as pessoas vejam meu site somente se colocarem exemple.com e não 123.123.123.123 na barra de URL de seu navegador.

Então, no meu diretório /var/www/ , fiz dois subdiretórios.
/var/www/default (para o conteúdo que quem não fornece o dn vai ver) e /var/www/exemple para o conteúdo real do site.
Eu editei meu arquivo /etc/apache2/sites-enabled/000-default.conf como este.

<VirtualHost *:80>
    DocumentRoot /var/www/default
</VirtualHost>

<VirtualHost *:80>
    ServerName example.com
    ServerAlias example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/exemple

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Na minha cabeça, isso deve funcionar. Na prática, o servidor me fornece o conteúdo de /var/www/default , se eu colocar 123.123.123.123 e exemple.com na barra de URL do meu navegador. Por quê?

    
por Carlo 22.03.2017 / 16:41

2 respostas

0

O Apache direcionará o tráfego para o primeiro correspondente VirtualHost que ele vê na configuração. Como o primeiro definido não define um ServerName ou ServerAlias , ele está configurado para capturar qualquer tráfego para qualquer nome de host associado ou qualquer endereço IP vinculado na porta 80.

    
por 22.03.2017 / 16:44
0

Você esqueceu de nomear o VirtualHost dedicado a example.com. Aqui estão minhas modificações (com algumas sugestões adicionadas):

<VirtualHost *:80>
    DocumentRoot /var/www/default
</VirtualHost>

<VirtualHost 123.123.123.123:80>                              # <= Should fix your issue
    ServerName example.com
    ServerAlias www.example.com                               # <= Suggested modification

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/exemple

    ErrorLog ${APACHE_LOG_DIR}/error-example.log              # <= Suggested modification
    CustomLog ${APACHE_LOG_DIR}/access-example.log combined   # <= Suggested modification
</VirtualHost>

Claro, não esqueça de recarregar o Apache.

    
por 22.03.2017 / 17:15