Fehler bei https - Verbindung
Fehler bei https - Verbindung
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
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
Re: Fehler bei https - Verbindung
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
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
Re: Fehler bei https - Verbindung
Die Datei confixx_vhost.conf enthält bei der entspr. Domain folgenden Eintrag:
Ich habe hier noch einen zweiten Eintrag (kompletten Abschnitt) eingefügt, in welchem ich nur den Port 443 anstatt 80 eingetragen habe:
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:
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:
Könnte der fehler noch von einem nicht richtig erstellten Zertifiat verursacht werden?
Ein Restart des httpd (httpd -k restart) bringt folgende Meldung:
Könnte es vielleicht auch damit zusammenhängen? Alle anderen Webseiten (aussschließlich über http) laufen aber korrekt.
Mark
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>
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>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>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!?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 VirtualHostsMark
Re: Fehler bei https - Verbindung
Hallo,
Du brauchst zumindest ein
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:
Für dynamische Seiten und als Workaround für einen Bug in älteren IE Versionen kannst Du noch folgendes eintragen:
Ausserdem musst Du Deinem Apache noch sagen dass er jetzt auch auf Port 443 Verbindungen annehemen soll, das geschieht mit
am besten an der Stelle wo auch das gleiche Statement für Port 80 steht.
Bye,
Jörg[/code]
Du brauchst zumindest ein
Code: Select all
NameVirtualHost <IP>:443Innerhalb 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>
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
Code: Select all
Listen 443Bye,
Jörg[/code]
Re: Fehler bei https - Verbindung
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:
Kommentiere ich die Zeile wieder aus, läuft der Apache wieder.
Habe jetzt schon viel experimentiert, aber komme irgendwie nicht weiter .... :(
Mark
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 logsHabe jetzt schon viel experimentiert, aber komme irgendwie nicht weiter .... :(
Mark
Re: Fehler bei https - Verbindung
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:
Vielen Dank für Eure Hilfe!!
Mark
Vielen Dank für Eure Hilfe
Ich werde mir jetzt die .conf Dateien zur Datensicherung gleich noch mal raus kopieren, damit ich sie im Falle einer Neuinstallation wieder habe.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.
Vielen Dank für Eure Hilfe!!
Mark
Vielen Dank für Eure Hilfe
Re: Fehler bei https - Verbindung
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:
Meine Error.log:
Wisst Ihr Rat?
Danke im voraus.
Gruß
Yourdom
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
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
Danke im voraus.
Gruß
Yourdom
Re: Fehler bei https - Verbindung
Hallo,
da wurde scheinbar noch kein mod_ssl eingebunden deswegen ist die Syntax unbekannt:
Jörg
da wurde scheinbar noch kein mod_ssl eingebunden deswegen ist die Syntax unbekannt:
Bye,yourdom wrote:Invalid command 'SSLEngine', perhaps mis-spelled or defined by a module not included in the server configuration
Jörg