
Ich habe eine Subdomain mit einem gut funktionierenden SSL-Zertifikat. Die Webadresse dafür lautet beispielsweise so: sd1.mydomain.com
(sd1=Subdomain 1). Jetzt möchte ich eine zweite Subdomain hinzufügen, die aber nicht über das Zertifikat zur Verschlüsselung der Daten verfügen muss. Daher möchte ich:sd2.mydomain.com
Ich habe mein sites-enabled
Verzeichnis so angepasst, dass es zwei Konfigurationsdateien gibt, eine für jede Subdomain. Die Konfigurationsdatei für die erste und funktionierende Subdomain sieht folgendermaßen aus (natürlich mit Änderung der tatsächlichen Domain in „mydomain“):
<VirtualHost *:443>
SSLEngine on
SSLProtocol all
SSLCertificateFile /usr/local/ssl/crt/certificate.crt
SSLCertificateKeyFile /usr/local/ssl/crt/sd1.mydomain.com
SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt
ServerAdmin [email protected]
ServerName https://sd1.mydomain.com
AliasMatch ^/([^/]*\.css) /srv/www/cpm/static_media/css/$1
Alias /static_media/ /srv/www/cpm/static_media/
Alias /static/admin/ /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
Alias /favicon.ico "/srv/www/cpm/static_media/img/favicon.ico"
<Directory /srv/www/cpm/static_media/>
Options -Indexes
Order deny,allow
Allow from all
deny from 219.0.0.0/8
</Directory>
WSGIScriptAlias / /srv/www/cpm/django.wsgi
<Directory /srv/www/cpm>
Options -Indexes
Order deny,allow
Allow from all
deny from 219.0.0.0/8
</Directory>
ErrorLog /srv/www/logs/cpm_logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /srv/www/logs/cpm_logs/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Auf dieser Site wird eine Django-Webanwendung ausgeführt, die sicher sein muss, und sie funktioniert einwandfrei.
Jetzt möchte ich eine zweite Website einrichten, genauer gesagt ein WIKI, das NICHT sicher sein muss, und deshalb habe ich diese Konfigurationsdatei dafür erstellt sd2.mydomain.com
:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName http://sd2.mydomain.com
DocumentRoot /srv/www/wiki/public_html/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/www/wiki/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Ich habe es dort nicht NameVirtualHost
, weil ich versuche, jede Site einzeln zum Laufen zu bringen, bevor ich sie beide gleichzeitig laufen lasse. (Ich aktiviere immer nur eine auf einmal.)
Mein Problem ist, dass http://sd2.mydomain.com
die Seite einfach nicht geladen wird, wenn ich einen Browser öffne und versuche, sie aufzurufen. Im Fehlerprotokoll steht nichts, was mir sagt, dass etwas schief läuft. Wenn ich jedoch die gleichen SSL
Dinge zu meiner sd2.mydomain.com
Konfigurationsdatei hinzufüge, wird die zweite Seitetutfunktioniert, aber ich muss navigieren, https://sd2.mydomain.com
damit es funktioniert, und offensichtlich schlägt das SSL-Zertifikat fehl.
Was mache ich hier falsch? Ich habe das Gefühl, dass die Konfiguration korrekt ist, da keine Fehler vorliegen. Was übersehe ich?
Danke
Antwort1
Welche Ports überwacht Apache also, wenn Sie ausführen netstat -ntlp
? Mir ist aufgefallen, dass in Ihrem ersten Beispiel kein virtueller Host für Port 80 vorhanden zu sein scheint. Sind Sie sicher, dass Apache tatsächlich auf eingestellt ist Listen 80
? Oder wurde das geändert, sodass es nur noch ist Listen 443
?