Subdominio que me redirige al dominio principal Apache2

Subdominio que me redirige al dominio principal Apache2

Tengo un sitio web ejecutándose en un servidor Apache. Cuando intento visitar un subdominio, soy redirigido al dominio principal.

Aquí está el archivo de configuración de 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>

¿Cómo puedo arreglar esto?

Respuesta1

Apache intentará hacer coincidir una solicitud web con los dominios configurados en el orden en que aparecen en el sistema de archivos.ydentro de los archivos de configuración. Como regla general, es mejor manejar los subdominios antes que el sitio principal, que debe configurarse para que actúe como un "todo" para cualquier tráfico que no esté controlado.

Teniendo esto en cuenta, su archivo de configuración podría actualizarse para verse así:

<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. el archivo de configuración actualizado reemplaza el www.government-jobs.azaanjobs.com.comvalor incorrecto ServerAliascon una .comreferencia adecuada
  2. Se agregó un *.azaanjobs.comalias al dominio principal para garantizar que cualquier tráfico "inesperado" se capture y se dirija a una ubicación probable.
  3. No parece haber ninguna configuración en el sitio principal *:80, lo que podría ser un problema si algo delante del servidor no convierte el tráfico que no es SSL para usar SSL.
  4. el subdominio todavía está escuchando en el puerto 8080, por lo que será necesario actualizarlo *:80antes de que los visitantes puedan ver el sitio sin especificar el puerto en su navegador.

Recuerde reiniciar Apache después de cambiar el archivo de configuración:

sudo service apache2 restart

Esto debería darte lo que necesitas.

información relacionada