Der Begriff „virtueller Host“ bezieht sich auf die Praxis, mehr als eine Website (z. B. example1.com und example2.com) auf einem einzigen Rechner zu betreiben. Ein virtueller Host kann „IP-basiert“ sein, d. h. Sie haben eine andere IP-Adresse für jede Website, oder „namensbasiert“, d. h. Sie haben mehrere Namen, die unter jeder IP-Adresse laufen. Die Tatsache, dass sie auf demselben physischen Server laufen, ist für den Endbenutzer nicht sichtbar.
Apache war einer der ersten Server, der IP-basierte virtuelle Hosts unterstützte. Apache Version 1.1 und spätere Versionen unterstützen IP-basierte und namensbasierte virtuelle Hosts (vhosts). Die letzte Variante eines virtuellen Hosts wird manchmal auch als Host-basierter virtueller Host oder Non-IP bezeichnet.
Konfiguration eines virtuellen Hosts auf XAMPP
- Öffnen Sie die Apache Virtual Hosts-Konfigurationsdatei im XAMPP-Installationsverzeichnis (z. B. in „C:\xampp\apache\conf\extra\htpd-vhosts.conf“)
- Fügen Sie den folgenden Code am Ende der Datei ein
<VirtualHost *:80> ServerName www.example1.com DocumentRoot "C:\XAMPP\htdocs" <Directory "C:\XAMPP\htdocs"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:WindowsSystem32driversetchost“ hinzu.
127.0.0.1 www.example1.com
Virtuelle Konfiguration hostet mehrere Domains mit einer öffentlichen IP
- Wir haben zum Beispiel 2 Domänen mit den Namen www.example1.com und www.example2.com.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<VirtualHost *:80> ServerName www.example1.com DocumentRoot "C:\XAMPP\htdocs\www.example1.com" <Directory "C:XAMPP\htdocs\www.example1.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost> <VirtualHost *:80> ServerName www.example2.com DocumentRoot "C:\XAMPP\htdocs\www.example2.com" <Directory "C:\XAMPP\htdocs\www.example2.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:WindowsSystem32driversetchost“ hinzu.
127.0.0.1 www.example1.com 127.0.0.1 www.example2.com
Weitere interessante Artikel
Virtuelle Konfiguration von mehreren Domänen und IP-Hosts
- Zum Beispiel haben wir 2 Domains mit www.example1.com Namen, ip 172.20.30.40 und www.example2.com, ip 172.20.30.50.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot "C:\XAMPP\htdocs\www.example1.com" <Directory "C:XAMPP\htdocs\www.example1.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost> <VirtualHost 172.20.30.50:80> ServerName www.example2.com DocumentRoot "C:\XAMPP\htdocs\www.example2.com" <Directory "C:\XAMPP\htdocs\www.example2.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:\Windows\System32\drivers\etc\host“ hinzu.
127.0.0.1 www.example1.com 127.0.0.1 www.example2.com
Konfiguration eines virtuellen Hosts mit verschiedenen Ports
- Zum Beispiel haben wir 2 Domains mit www.example1.com Namen, ip 172.20.30.40 und www.example2.com, ip 172.20.30.50, die auf Port 80 laufen und www.example3com, ip 172.20.30.50 mit Port 8080.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot "C:\XAMPP\htdocs\www.example1.com" <Directory "C:\XAMPP\htdocs\www.example1.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost> <VirtualHost 172.20.30.50:80> ServerName www.example2.com DocumentRoot "C:\XAMPP\htdocs\www.example2.com" <Directory "C:\XAMPP\htdocs\www.example2.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost> <VirtualHost 172.20.30.50:8080> ServerName www.example3.com DocumentRoot "C:\XAMPP\htdocs\www.example3.com" <Directory "C:\XAMPP\htdocs\www.example3.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </Directory </VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:\Windows\System32\drivers\etc\host“ hinzu.
127.0.0.1 www.example1.com 127.0.0.1 www.example2.com 127.0.0.1 www.example3.com
Configure Virtual Host with SSL
Erstellen Sie ein SSL-Zertifikat, wie im nächsten Artikel beschrieben.
Zum Beispiel ein Zertifikat mit den Dateinamen „server.crt“, „server.key“- Legen Sie das SSL-Zertifikat in „C:\XAMPP\apache\conf“ ab.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<virtualhost *:443> ServerName www.example1.com DocumentRoot "C:\XAMPP\htdocs\www.example1.com" SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateKeyFile "conf/ssl.key/server.key" <directory "c:\xampp\htdocs\www.example1.com"> Options Indexes FollowSymLinks Includes ExecCGI Order allow,deny Allow from all </directory> </virtualhost>