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