mod_ssl unter apache2 @ debian etch

Hallo,
ich wollte meinen Server SSL-fähig zu machen...

ich fühl mich da ein bischen verarscht: ich habe jetzt recht lange gegoogelt: alle ergebnisse sagen: setzte ein "<VirtualHost *:443>" ein (+die erforderlichen einstellungen ;D), dann geht das!

Leider ist dem nicht so:
[Wed May 21 18:30:43 2008] [error] VirtualHost *:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Wed May 21 18:30:43 2008] [warn] NameVirtualHost*:443 has no VirtualHosts

ich habe auch schon versucht, das mit mit _default_ zu machen, ging aber auch nicht...
dann habe ich es mit
<VirtualHost 192.168.178.29:443>
versucht, ging aber auch nicht! Es wurden keinbe Fehler ausgegeben, aber laut pgrep und Opera läuft der apache nicht...

hier mal der bterffende Teil der Config (der rest läuft...):
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /var/ssl/fhirt.dyndns.org.csr
SSLCertificateKeyFile /var/ssl/fhirt.dyndns.org.key
DocumentRoot /var/www
</VirtualHost>

Was hab' ich da falsch gemacht?
 
Dein Problem wird sein, dass nach dem SSL-VHost bei dir vermutlich noch andere VHosts kommen, die nicht extra benannt wurden. Übliche Praxis ist es daher das SSL-VHost nicht benannt zu machen. Die sites-enabled-Datei muss daher etwa folgenden Aufbau haben:

Code:
#dein-ssl-vhost
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog  builtin
SSLSessionCache         dbm:/var/log/apache2/ssl_scache
SSLSessionCacheTimeout  300
SSLMutex  file:/var/log/apache2/ssl_mutex
<VirtualHost *:443>
        DocumentRoot "/var/www"
        ServerName www.deinedomain.tld:443
        ServerAdmin ich@domain.tld
        ErrorLog /var/log/apache2/error_ssl_log
        TransferLog /var/log/apache2/access_ssl_log
        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
        SSLCertificateFile /etc/apache2/ssl/server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/server.key
        <Files ~ "\.(cgi|shtml|phtml|php3?)$">
            SSLOptions +StdEnvVars
        </Files>
        CustomLog /var/log/apache2/ssl_request_log \
                  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
        SetEnvIf User-Agent ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
</VirtualHost>

NameVirtualHost *:80

# das default-vhost fuer alle domains, die kein eigenes vhost haben
<VirtualHost *:80>
        ServerAdmin ich@domain.tld

        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                # This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
                # RedirectMatch ^/$ http://forum.subnetworx.de/
        </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 /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    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>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin ich@domain.tld
    DocumentRoot /dein/documentroot/
    ServerName deinedomain.tld
    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin ich@domain.tld
    DocumentRoot /dein/documentroot/
    ServerName www.deinedomain.tld
    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]
</VirtualHost>

Pfade, Domains, Emailadressen usw. natürlich an deine Gegebenheiten anpassen. Wie du hier siehst, ist das SSL-Vhost damit nicht benannt, da ja nur die VHosts benannt sind, die nach der NameVirtualHost-Direktive folgen. Das erspart solche Schwierigkeiten.
 
eins versth ich nicht: wieso nich die beiden anderen Virtual Host definitionen (die letzten beiden)? ich vesrteh deren sinn nicht so ganz -.-

OK, habe mal die datei entsprechend abgeändert:

Code:
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog  builtin
SSLSessionCache         dbm:/var/log/apache2/ssl_scache
SSLSessionCacheTimeout  300
SSLMutex  file:/var/log/apache2/ssl_mutex
<VirtualHost *:443>
        DocumentRoot "/var/www"
        ServerName fhirt.dyndns.org:44
        ServerAdmin admin@fpgames.de
        ErrorLog /var/log/apache2/error_ssl_log
        TransferLog /var/log/apache2/access_ssl_log
        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
        SSLCertificateFile /var/ssl/fhirt.dyndns.org.csr
        SSLCertificateKeyFile /var/ssl/fhirt.dyndns.org.key
        <Files ~ "\.(cgi|shtml|phtml|php3?)$">
                SSLOptions +StdEnvVars
        </Files>

        CustomLog /var/log/apache2/ssl_request_log \
                "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

        SetEnvIf User-Agent ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
</VirtualHost>


NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@fpgames.de

DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                deny from 212.202.159.126 222.216.28.135
                # This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
#                RedirectMatch ^/$ /apache2-default/
        </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 /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    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>
ServerName fhirt.dyndns.org
</VirtualHost>

Die sssl.conf habe ich gelöscht... an der war sowieso schon längst nichts mehr Original -.-
trotzedem das selbe Problem: der apache scheint zu starten, Laufen tut er dann aber trotzdem nicht...
 
OK, da steht das das zertifikat ungültig ist...
Werde mir also wohl oder übel nochmal ein Zertifikat erstellen müssen... :(

OK, Jetzt gehts! vielen Dank!
 
Zurück
Oben