I'm currently running RH9 and Apache 2.0.40 with mod_ssl. I have two domains that I own, the first domain (from now on, know as tld-1.com) has two hosts (from now on know as host-1 and host-2) my second domain (tld-2.com) has three hosts (host-1 host-2 securehost-1)
The problem is that when I enable ssl (yes my certificate is certified- cacert.org, the gods gift to open source) all of the other virtual hosts give me NOTHING but the 400 Bad Request error. I can't figure out why. There is of course two conf files for this, httpd.conf and ssl.conf. Now it seems to me that apache parses the ssl.conf file first before the httpd.conf, that's just my theory. Here a mockup of my httpd.conf file, see if you can spot the prob.
NameVirtualHost tld-1.com
<VirtualHost tld-1.com>
ServerAdmin
admin@tld-1.com
DocumentRoot /var/www/html/tld-1.com
ServerName tld-1.com
ErrorLog logs/tld-1.com-error_log
CustomLog logs/tld-1.com-access_log common
</VirtualHost>
<VirtualHost host-2.tld-1.com>
ServerAdmin
admin@tld-1.com
DocumentRoot /var/www/html/tld-1.com/host-2
ServerName host-2.tld-1.com
ErrorLog logs/host-2-tld-1.com-error_log
CustomLog logs/host-2-tld-1.com-access_log common
</VirtualHost>
<VirtualHost tld-2.com>
ServerAdmin
admin@tld-2.com
DocumentRoot /var/www/html/tld-2.com
ServerName tld-2.com
ErrorLog logs/tld-2.com-error_log
CustomLog logs/tld-2.com-access_log common
</VirtualHost>
<VirtualHost host-2.tld-2.com>
ServerAdmin
admin@tld-2.com
DocumentRoot /var/www/html/tld-2.com/host-2
ServerName host-2.tld-2.com.
ErrorLog logs/tld-2.com-host-2-error_log
CustomLog logs/tld-2.com-host-2-access_log common
</VirtualHost>
then the ssl.conf file looks like this
<VirtualHost securehost-1.tld-2.com>
ServerAdmin
admin@tld-2.com
DocumentRoot /usr/local/nocat/htdocs
ServerName tld-2.com
ErrorLog logs/securehost-1.tld-2.com-error_log
CustomLog logs/securehost-1.tld-2.com-access_log common
ScriptAlias /cgi-bin/ /usr/local/nocat/cgi-bin/
<Directory /usr/local/nocat/cgi-bin>
SetEnv PERL5LIB /usr/local/nocat/lib
SetEnv NOCAT /usr/local/nocat/nocat.conf
</Directory>
# SetEnvIf User-Agent ".*MSIE.*" \
# nokeepalive ssl-unclean-shutdown \
# downgrade-1.0 force-response-1.0
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on