Apache & SSL
Frank Roechter
frank at fhd.de
Fri Oct 14 15:54:21 CEST 2005
Joerg Haverkamp wrote:
> Hallo zusammen,
>
> ich will unter Apache (2.0.54) einen Webserver darstellen, der
> normalerweise unter dem Standardport 80 läuft. Bestimmte Bereiche,
> die einen Login erfordern, sollen aber über Port 443 mit HTTPS
> abgesichert werden (z.B. phpmyqdmin).
> In der ports.conf stehen beide Ports, erst Listen 80, dann 443. Im
> VirtualHost Bereich steht für die SSL Config:
> <IfModule mod_ssl.c>
> SSLEngine On
> SSLCertificateFile /etc/apache2/ssl/httpd.cert
> SSLCertificateKeyFile /etc/apache2/ssl/httpd.key
> </IfModule>
>
> Wenn ich jetzt den Server unter http://servername/ aufrufe kommt
> eine "Bad Request" Fehlermeldung:
> Your browser sent a request that this server could not understand.
> Reason: You're speaking plain HTTP to an SSL-enabled server port.
> Instead use the HTTPS scheme to access this URL, please.
>
> Bei https://servername/ kommt die richtige Seite. Eigentlich sollte
> es aber so sein, daß es mit http:// genau so läuft wie mit https://
> und erst bei http://servername/foobar/ sollte dann per "RedirectMatch"
> auf https umgeschaltet werden.
>
> Wo muß ich ansetzen?
Hallo,
ich denke, du hast jetzt auch für Port 80 SSL aktiviert. Das kannst du testen mittels
https://servernamen:80/ - dass müsste jetzt klappen. Was du wahrscheinlich willst,
ist SSL nur für Port 443 aktivieren, das mußt du innerhalb der VirtualHost
Konfiguration speziell für den Port machen, Beispiel:
<VirtualHost 192.168.111.2:80>
ServerName www.servername.de
DocumentRoot /var/www
</VirtualHost>
<VirtualHost 192.168.111.2:443>
ServerName www.servername.de
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/servername.cert
DocumentRoot /var/www
</VirtualHost>
Das IfModule mod_ssl in der allgemeinen Konfiguration muß dann natürlich raus, sonst
läuft auf Port 80 immernoch https.
mfg.
frank
More information about the Linux
mailing list