Subdomain leitet mich zur Hauptdomain Apache2 weiter

Subdomain leitet mich zur Hauptdomain Apache2 weiter

Ich habe eine Website, die auf einem Apache-Server läuft. Wenn ich versuche, eine Subdomäne zu besuchen, werde ich zur Hauptdomäne umgeleitet.

Hier ist die Apache-Konfigurationsdatei:

<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>

Wie kann ich das beheben?

Antwort1

Apache versucht, eine Webanforderung mit den konfigurierten Domänen in der Reihenfolge abzugleichen, in der sie im Dateisystem erscheinenUndin den Konfigurationsdateien. Als allgemeine Faustregel gilt, dass es besser ist, Subdomains vor der Hauptseite zu behandeln, die so konfiguriert werden sollte, dass sie als „Auffangbecken“ für allen nicht behandelten Datenverkehr fungiert.

Vor diesem Hintergrund könnte Ihre Konfigurationsdatei so aktualisiert werden, dass sie wie folgt aussieht:

<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>

Anmerkungen:

  1. Die aktualisierte Konfigurationsdatei ersetzt den falschen www.government-jobs.azaanjobs.com.comWert ServerAliasdurch eine korrekte .comReferenz
  2. *.azaanjobs.comDer Hauptdomäne wurde ein Alias ​​hinzugefügt, um sicherzustellen, dass jeglicher „unerwarteter“ Datenverkehr erfasst und an einen wahrscheinlichen Ort weitergeleitet wird
  3. es scheint keine Konfiguration auf der Hauptseite für zu geben *:80, was ein Problem sein könnte, wenn etwas vor dem Server den Nicht-SSL-Verkehr nicht in SSL umwandelt
  4. die Subdomäne lauscht immer noch auf Port 8080, daher muss dies aktualisiert werden, *:80bevor Besucher die Site sehen können, ohne den Port in ihrem Browser anzugeben

Denken Sie daran, Apache nach dem Ändern der Konfigurationsdatei neu zu starten:

sudo service apache2 restart

Dies sollte Ihnen geben, was Sie brauchen

verwandte Informationen