Fehler bei https - Verbindung

Apache, Lighttpd, nginx, Cherokee
Post Reply
imark
Posts: 5
Joined: 2005-06-02 22:23
 

Fehler bei https - Verbindung

Post by imark »

Hallo.
Ich bin ein Linux Newbie und habe einen Webserver bei vServer (RedHat 9). Auf diesem habe ich für einen Kunden einen passwortgeschützen Bereich (.htaccess) eingerichtet. Das Login dorthin wollte ich nun auch noch mittels https Verbindung absichern. Damit komme ich aber leider nicht so richtig zurecht - auch google hilft mir da irgendwie nicht weiter weil es auf der einen Seite keine passenden Threads zu diesem Thema gibt und ich auf der anderen Seite nur Bahnhof verstehe ... :(

Folgendes passiert(e):
- (http-) Benutzer - Login auf den per .htaccess geschützen Bereich funktioniert
(- Link oder Eingabe von http://www.domain.de/intern/index.htm oder auch nur http://www.domain.de/intern, funktioniert alles)
- die erste https - Verbindung (IE) meldete mir, dass das Zertifikat abgelaufen sei
- Habe daraufhin neues (Selbst-) Zertifikat (reicht in diesem Falle aus) erstellt
- dann kam bei https- Verbindung nur noch die Fehlermeldung, dass das Zertifikat halt nicht öffentlich bestätigt ist. Aber dass ist ja soweit o.k.
Jetzt kommt der Fehler:
- (IE) bei Link oder Eingabe von https://www.domain.de/intern/index.htm erscheint die Fehlermeldung "Seite nicht gefunden", obwohl sie existiert
- Firefox ist da etwas konkreter: Not Found The requested URL /intern was not found on this server. Apache/2.0.48 (RedHat 9/Server4You) Server at http://www.wilandes.de Port 443
- ssl_error_log meldet: [Thu Jun 02 22:37:24 2005] [error] [client meine IP] Directory index forbidden by rule: /var/www/html/

- Merkwürdig ist: Gebe ich https://domain.de oder https://www.domain.de ein, dann erscheint eine (confixx-) html - Datei "noindex.html", der Server verhält sich als so, als ob keine index.htm da wäre ... :-(
- Port 443 aktiv (in der ssl.conf steht: Listen 443)

Ich bin sicher, es handelt sich nur um eine kleine Einstellung. Vielleicht muss irgendwie https im apache noch aktiviert werden ... ? Hat jemand eine Idee?
Vielen Dank im Voraus ;-)
Mark
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler bei https - Verbindung

Post by jhnet »

Hallo,

da scheint das DocumentRoot für https ein anderes als für http zu sein.
Prüf mal in der httpd.conf bzw. vhost.conf im Abschnitt der mit <VirtualHost IP:443> beginnt die DocumentRoot Angabe, eventuell wird ein anderes Verzeichnis als ohne https verwendet.

Bye,
Jörg
imark
Posts: 5
Joined: 2005-06-02 22:23
 

Re: Fehler bei https - Verbindung

Post by imark »

Die Datei confixx_vhost.conf enthält bei der entspr. Domain folgenden Eintrag:

Code: Select all

<VirtualHost meineIP:80>
ServerName web13.meineServerNR.vserver.de
ServerAlias  www.domain.de domain.de
DocumentRoot /var/www/web13/html
SuexecUserGroup web13 ftponly
php_admin_value open_basedir /var/www/web13/:/var/www/html/phpmyadmin/:/var/www/confixx/html/gesperrt/
php_admin_value upload_tmp_dir /var/www/web13/phptmp/
</VirtualHost>
Ich habe hier noch einen zweiten Eintrag (kompletten Abschnitt) eingefügt, in welchem ich nur den Port 443 anstatt 80 eingetragen habe:

Code: Select all

<VirtualHost meineIP:443>
ServerName web13.meineServerNR.vserver.de
ServerAlias  www.domain.de domain.de
DocumentRoot /var/www/web13/html
SuexecUserGroup web13 ftponly
php_admin_value open_basedir /var/www/web13/:/var/www/html/phpmyadmin/:/var/www/confixx/html/gesperrt/
php_admin_value upload_tmp_dir /var/www/web13/phptmp/
</VirtualHost>
Aber so ist ein Zugriff über https gar nicht mehr möglich - es wird nicht einmal die noindex.html angezeigt ... :-(

Die Datei httpd.conf enthält bei der entspr. Domain folgenden Eintrag:

Code: Select all

<Directory "/var/www/web13/html">
DirectoryIndex index.html index.htm index.php index.php3 index.php4
<Files ~ ".shtml$">
deny from all
</Files>
<Files ~ ".(wml.*|wbmp)$">
deny from all
</Files>
</Directory>
Habe in beiden Dateien (confixx_vhost.conf und httpd.conf) nach "443" gesucht, sie enthalten keinerlei Eintrag mit "443" ...

Die Datei ssl_error.log enthält folgenden Eintrag:

Code: Select all

[Thu Jun 02 09:19:19 2005] [warn] RSA server certificate CommonName (CN) `i-mark' does NOT match server name!?
Könnte der fehler noch von einem nicht richtig erstellten Zertifiat verursacht werden?

Ein Restart des httpd (httpd -k restart) bringt folgende Meldung:

Code: Select all

[Thu Jun 02 23:39:48 2005] [warn] NameVirtualHost 62.75.137.86:80 has no VirtualHosts
Könnte es vielleicht auch damit zusammenhängen? Alle anderen Webseiten (aussschließlich über http) laufen aber korrekt.

Mark
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler bei https - Verbindung

Post by jhnet »

Hallo,

Du brauchst zumindest ein

Code: Select all

NameVirtualHost <IP>:443
wenn Du auch für HTTPS Virtuelle Hosts einrichten willst. Wo Du das einträgst ist ansich egal, die confixx_mhost.conf ist sicherlich ein guter Platz dafür. Sämtliche Virtuelle Hosts für SSL-Verbindungen kommen dann nach diesem Eintrag.
Innerhalb des Virtuellen Hosts für SSL müssen noch ein paar Sachen stehen:

Code: Select all

SSLEngine On
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile <Pfad_zum_zertifikat>
SSLCertificateKeyFile <Pfad_zum_private_key>
Für dynamische Seiten und als Workaround für einen Bug in älteren IE Versionen kannst Du noch folgendes eintragen:

Code: Select all

<Files ~ ".(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/srv/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
CustomLog /var/log/httpd/ssl_request_log 
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
BrowserMatch "MSIE [1-4]" nokeepalive ssl-unclean-shutdown 
                          downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [5-9]" ssl-unclean-shutdown
Ausserdem musst Du Deinem Apache noch sagen dass er jetzt auch auf Port 443 Verbindungen annehemen soll, das geschieht mit

Code: Select all

 Listen 443
am besten an der Stelle wo auch das gleiche Statement für Port 80 steht.



Bye,
Jörg[/code]
imark
Posts: 5
Joined: 2005-06-02 22:23
 

Re: Fehler bei https - Verbindung

Post by imark »

Hm. Bringt alles nich so das richtige Ergebnis. Bin wahrscheinlich einfach zu unerfahren ... :(

Wenn ich in die httpd.conf nur noch einen Eintrag mache (hinzufügen der Zeile "Listen 443", erscheint beim Apache - restart fogende Fehlermeldung:

Code: Select all

[Sat Jun 04 23:16:13 2005] [warn] NameVirtualHost meineIP:80 has no VirtualHosts
httpd not running, trying to start
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
Kommentiere ich die Zeile wieder aus, läuft der Apache wieder.
Habe jetzt schon viel experimentiert, aber komme irgendwie nicht weiter .... :(
Mark
imark
Posts: 5
Joined: 2005-06-02 22:23
 

Re: Fehler bei https - Verbindung

Post by imark »

Das Problem ist geklärt!! ;) Ich habe mal noch den Kundendienst von vServer kontaktiert (welcher einen direkten Zugriff auf den Server hat) und dieser hat die Einstellungen gleich vorgenommen. Den Antworttext habe ich zur Info noch mal mit hier rein kopiert:
Die Fehlermeldung kam daher, das das Default-DocumentRoot /var/www/html in Ermangelung einer expliziten Definition aufgerufen wurde und dort keine Indexdatei vorhanden war. Sie hatten in confixx_vhost.conf bereits einen VirtualHost erstellt, ihn aber wieder auskommentiert. Ich habe diese Zeilen in die httpd.conf übernommen und nur den key, der mit einem Passwort geschützt und damit für Serverbetrieb unbrauchbar war ausgetauscht. Ob das Zertifikat in Ordnung ist kann ich nicht beurteilen, aber https://www.domain.de verweist jetzt auf das html-Verzeichnis von web13.
Ich werde mir jetzt die .conf Dateien zur Datensicherung gleich noch mal raus kopieren, damit ich sie im Falle einer Neuinstallation wieder habe.

Vielen Dank für Eure Hilfe!!
Mark
Vielen Dank für Eure Hilfe
leinehost
Anbieter
Posts: 54
Joined: 2005-05-26 23:03
Location: Germany
 

Re: Fehler bei https - Verbindung

Post by leinehost »

Hallo,

ich haben nach Euren Angaben gearbeitet und bin nun doch am verzweifeln.

Ich nutze Debian Sarge mit Apache2 und OpenSSL.

Mein Problem:
- Wenn ich /etc/init.d/apache2 start eingebe, erhalte ich folgende Meldung:

Code: Select all

Starting web server: Apache2Syntax error on line 8 of /etc/apache2/ssl-vhosts.conf:
Invalid command 'SSLEngine', perhaps mis-spelled or defined by a module not included in the server configuration
Meine Error.log:

Code: Select all

[Wed Nov 16 00:11:00 2005] [notice] Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 configured -- resuming normal operations
[Wed Nov 16 00:15:24 2005] [notice] caught SIGTERM, shutting down
Wisst Ihr Rat?

Danke im voraus.

Gruß
Yourdom
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler bei https - Verbindung

Post by jhnet »

Hallo,

da wurde scheinbar noch kein mod_ssl eingebunden deswegen ist die Syntax unbekannt:
yourdom wrote:Invalid command 'SSLEngine', perhaps mis-spelled or defined by a module not included in the server configuration
Bye,
Jörg
Post Reply