Hi,

ich möchte gerne https auf einen per DynDNS aufgelösten Debian Squeeze
Apache2 Server konfigurieren und brauche mal Hilfe.

Das Modul ssl ist aktiviert. In /ssl/etc/ssl/certs/ssl-cert-snakeoil.pem
liegt das self-signed Zertifikat mit dem DynDNS-Namen (hier
MeineAdresse.dyndns.org genannt) als CN. nslookup und tracert gegen
MeineAdresse.dyndns.org funktionieren von Server und Clients aus. Der
hostname ist nicht MeineAdresse.dyndns.org und soll es auch nicht
werden. NAT ist für Port 443 konfiguriert.

/etc/apache2/sites-enabled/default-ssl (Squeeze Standard, nur
ServerName-Zeile hinzugefügt, Kommentare entfernt):

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName MeineAdresse.dyndns.org

        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/ssl_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>

        SSLEngine on

        SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>

        BrowserMatch "MSIE [2-6]" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

</VirtualHost>
</IfModule>

Ein Neustart des Apache geht schief, /var/log/apache2/error.log meldet:
[Sun Feb 13 10:07:43 2011] [warn] RSA server certificate CommonName (CN)
`MeineAdresse.dyndns.org' does NOT match server name!?
[Sun Feb 13 10:07:43 2011] [error] Unable to configure RSA server
private key
[Sun Feb 13 10:07:43 2011] [error] SSL Library Error: 185073780
error:0B080074:x509 certificate routines:X509_check_private_key:key
values mismatch

Welcher "server name" ist hier gemeint?

Das Entfernen der default-ssl Site lässt erwartungsgemäß den Apache
wieder starten.

Gruß
Silvério
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an