it-swarm.com.de

Hosten mehrerer Domänen und Unterdomänen in einer einzigen AWS EC2-Instanz

Ich versuche, 2 Domänen (domain1.com und domain2.com) mit einigen Subdomains (app.domain1.com) in AWS einzurichten und auf einer einzigen Instanz (Amazon Linux, PHP, MySQL) auszuführen.

Ich habe 3 gehostete Zonen in AWS Route53 mit den folgenden Konfigurationen eingerichtet.

Gehostete Zone 1:
domain1.com
Tippe A
52.108.XX.YY

Gehostete Zone 2
domain2.com
Tippe A
52.108.XX.YY

Gehostete Zone 3
app.domain1.com
Tippe A
52.108.XX.YY

Außerdem habe ich der Datei http.conf im VirtualHost-Tag den folgenden Code hinzugefügt.

<VirtualHost *:80>   
     ServerName domain1.com   
     DocumentRoot "/var/www/html/domain1"   
     ErrorLog "logs/domain1-error_log"  
     CustomLog "logs/domain1-access_log" common  
     </VirtualHost>

     <VirtualHost *:80>   
     ServerName domain2.com   
     DocumentRoot "/var/www/html/domain2"  
     ErrorLog "logs/domain2-error_log"  
     CustomLog "logs/domain2-access_log" common  
     </VirtualHost>

     <VirtualHost *:80>  
     ServerName app.domain1.com   
     DocumentRoot "/var/www/html/app"  
     ErrorLog "logs/app.domain1-error_log"  
     CustomLog "logs/app.domain1-access_log" common  
     </VirtualHost>

Es werden jedoch nur domain1.com und domain2.com aufgelöst. Wenn ich app.domain1.com besuche, wird der Fehler "Server kann nicht gefunden werden" angezeigt. Bitte helfen Sie bei der Einrichtung der Subdomain. Gibt es ein Problem bei der Einrichtung der gehosteten Zone oder in der httpd.conf?

5
pradyotghate

Ok, also nach ca. 2 Stunden Ablesen verschiedener Websites und Basteln bin ich fertig. So tun Sie das.

Grundsätzlich sollten Sie nicht mehr als 1 gehostete Zone (HZ) pro Domain-Name haben, sonst werden die Dinge wirklich beschissen sein. Wenn Sie mehr als 1 HZ für einen Domainnamen haben, löschen Sie bitte den für die Subdomain erstellten.

Jedes HZ hat 4 Datensätze -

Folgende zwei Datensätze werden standardmäßig erstellt. Bearbeiten oder löschen Sie sie nicht.
NS- Dies ist der Name-Server-Datensatz. Wenn AWS Route53 nicht Ihr Registrar ist, verwenden Sie ns-servernumber.awsdns-number.com. und drei weitere Datensätze (insgesamt 4 Datensätze), um die Nameserver für Ihren Registrar zu ändern.
SOA- Lass diese Aufzeichnung sein. BERÜHRE DAS NICHT.

Erstellen Sie folgende zwei Datensatzgruppen (blaue Schaltfläche).
A- Lasse Name leer. Wählen Sie A-IPv4 address für Typ . In Value Geben Sie die IP-Adresse für Ihre Elastic Load Balancer- oder EC2-Instanz ein.
CNAME- Fügen Sie * (Sternchen/Platzhalter) im Feld name hinzu. Wählen Sie CNAME aus dem Dropdown-Menü für Typ In Wert Geben Sie den Domänennamen ein.

Erstellen Sie nun die http.conf-Datei und strukturieren Sie virtuelle Hosts wie in der Frage.

Die Dinge sollten jetzt funktionieren :)

3
pradyotghate

Sie können das Tutorial unter diesem Link verfolgen: http://brianshim.com/webtricks/Host-multiple-sites-Amazon-ec2/

Ein häufiger Fehler ist laut Link:

Hat es funktioniert? Wenn nicht, ist hier eine mögliche Ursache. Möglicherweise stört eine andere Konfigurationsdatei diese. Suchen Sie nach einer anderen .conf-Datei in /etc/httpd/conf.d. Oft enthält Ihre primäre httpd.conf eine andere .conf-Datei in diesem Verzeichnis. Stellen Sie sicher, dass es keine Virtual Host-Einstellungen gibt, die Ihre Einstellungen beeinträchtigen.

Nachdem Sie die Konfigurationen festgelegt haben, sollten Sie Folgendes ausführen:

Sudo service httpd restart
1
filipebarretto

Dies kann durch Installieren von Apache HTTP-Server on AWS-EC2 instance und Konfigurieren von VirtualHost für jeden DNS oder Sub-DNS wie von Amazonian

Der Kürze halber lesen Sie diese Thread Diskussion, diese offizielle Beispiel und Techrepublic Post .


Hoffe das hat geholfen!

0
Nirus