Subject: Apache 2.0.45, mod_ssl, and virtual hosts

From: Daniel Bentley <[email-masked]>
Date: Wed, 25 Jun 2003 15:47:30 -0600 (MDT)

Okay, I've been working on this for the past few days, and it's just 
bugging the HECK out of me.  I can get mod_ssl to work, I can get virtual 
hosts to work, but for the LIFE of me, I can't get them to work AT THE 
SAME TIME.

httpd2 --help gives:
[warn] VirtualHost {IP}:0 overlaps with VirtualHost {IP}:0, the first has 
precedence, perhaps you need a NameVirtualHost directive

<repeat a whole bunch of times for the various virtual hosts>

[warn] VirtualHost {IP}:80 overlaps with VirtualHost {IP}:0, the first has 
precedence, perhaps you need a NameVirtualHost directive

41_mod_ssl.default-vhost.conf:
<VirtualHost {IP}:80>
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost {IP}>
ServerName VirtServ1.domain.tld
DocumentRoot /var/www/html/vs1
</VirtualHost>

<rinse and repeat for a whole bunch of other virtual hosts>

<VirtualHost _default_:443>
DocumentRoot /var/www/sslstuff
<the rest of the ssl config follows>

In this example, SSL works, but virtual hosts do not (I should mention 
that Vhosts.conf is just plain blank (everything commented out)).

Now, I make it:
NameVirtualHost {IP}

<VirtualHost {IP}>
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost {IP}>
ServerName VS1.domain.tld
DocumentRoot /var/www/html/vs1
</VirtualHost>

<VirtualHost _default_:443>
DocumentRoot /var/www/sslstuff
<the rest of the ssl config follows>

Lo and behold, virtual hosts work, but SSL does not.  'httpd2 --help' 
replies with:
[error] VirtualHost {IP}:80 -- mixing * ports and non-* ports with a 
NameVirtualHost address is not supported, proceeding with undefined 
results

var/log/httpd/error_log reads:
[error] [client {IP}] Invalid method in request  F^A^C

Replacing <VirtualHost _default_:443> with <VirtualHost {IP}:443> results 
in the same.

I don't see where the '[error] VirtualHost {IP}:80 -- mixing * ports and 
non-* ports' comes from, as I'm not defining anything with :80 (unless 
it's automatically 'assumed' somewhere since I'm defining :443)

Basically, it's requiring a <VirtualHost {IP}:80> and NO NameVirtualHost 
{IP} in order to get SSL working.  And yes, I've tried <VirtualHost 
{IP}:80> entry, <VirtualHost _default_:443 and {IP}:443> sslconfig 
</VirtualHost>, followed then by NameVirtualHost {IP} <VirtualHost {IP}> 
for all the rest of the virtual hosts.  SSL doesn't work then either (and 
virtual hosts do), though httpd2 --help now reports:

(98)Address already in use: make_sock: could not bind to address 
0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

So, any thoughts/ideas?

-- 
Daniel Bentley - Network Technician, QSI Corporation (www.qsicorp.com)
chown -R us *base*

______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]