Subdomínio me redirecionando para o domínio principal Apache2

Subdomínio me redirecionando para o domínio principal Apache2

Eu tenho um site rodando no servidor Apache. Quando tento visitar um subdomínio, sou redirecionado para o domínio principal.

Aqui está o arquivo de configuração do Apache:

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName azaanjobs.com
        ServerAlias www.azaanjobs.com
        DocumentRoot /var/www/azaanjobs/public_html

        <Directory /var/www/azaanjobs/public_html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>

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

        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
    </VirtualHost>
</IfModule>

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName government-jobs.azaanjobs.com
    ServerAlias www.government-jobs.azaanjobs.com.com
    DocumentRoot /var/www/government-jobs/public_html/
    
    <Directory /var/www/government-jobs/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Como posso consertar isso?

Responder1

O Apache tentará combinar uma solicitação da web com os domínios configurados na ordem em que aparecem no sistema de arquivosedentro dos arquivos de configuração. Como regra geral, é melhor que os subdomínios sejam tratados antes do site principal, que deve ser configurado para funcionar como um "pega-tudo" para qualquer tráfego que não seja tratado.

Com isso em mente, seu arquivo de configuração pode ser atualizado para ficar assim:

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName government-jobs.azaanjobs.com
    ServerAlias www.government-jobs.azaanjobs.com
    DocumentRoot /var/www/government-jobs/public_html/
    
    <Directory /var/www/government-jobs/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName azaanjobs.com
        ServerAlias www.azaanjobs.com *.azaanjobs.com
        DocumentRoot /var/www/azaanjobs/public_html

        <Directory /var/www/azaanjobs/public_html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>

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

        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
    </VirtualHost>
</IfModule>

Notas:

  1. o arquivo de configuração atualizado substitui o www.government-jobs.azaanjobs.com.comvalor incorreto por ServerAliasuma .comreferência adequada
  2. um *.azaanjobs.comalias foi adicionado ao domínio principal para garantir que qualquer tráfego "inesperado" seja capturado e roteado para um local provável
  3. não parece haver nenhuma configuração no site principal para *:80, o que pode ser um problema se algo na frente do servidor não estiver convertendo o tráfego não-SSL para usar SSL
  4. o subdomínio ainda está escutando na porta 8080, então isso precisará ser atualizado *:80antes que os visitantes possam ver o site sem especificar a porta no navegador

Lembre-se de reiniciar o Apache após alterar o arquivo de configuração:

sudo service apache2 restart

Isso deve lhe dar o que você precisa

informação relacionada