Declaring multiple ports for the same VirtualHosts
Declare multiple ports for the same VirtualHosts:
SSLStrictSNIVHostCheck off
# Apache setup which will listen for and accept SSL connections on port 443.
Listen 443
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:443
<VirtualHost *:443>
ServerName domain.localhost
DocumentRoot "/Users/<my_user_name>/Sites/domain/public"
<Directory "/Users/<my_user_name>/Sites/domain/public">
Order allow,deny
Allow from all
</Directory>
# SSL Configuration
SSLEngine on
...
</VirtualHost>
How can I declare a new port ('listen', ServerName, ...) for 'domain.localhost'?
If I add the following code, apache works (too much) also for all other subdomain of 'domain.localhost' (subdomain1.domain.localhost, subdomain2.domain.localhost, ...):
<VirtualHost *:80>
ServerName pjtmain.localhost:80
DocumentRoot "/Users/Toto85/Sites/pjtmain/public"
RackEnv development
<Directory "/Users/Toto85/Sites/pjtmain/public">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Solution 1:
The question is somewhat ambiguous, but I'll try to help.
If you want the same virtualhost to listen on multiple ports, then you do this:
Listen 80
NameVirtualHost *:80
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:80 *:8080>
ServerName some.domain.name
ServerAlias some.other.domain.name
....
</VirtualHost>
Generally speaking you don't define multiple name-based VirtualHosts of the same domain name, unless you need to use a different protocol.
For SSL name-based virtualhosts you have to be extra careful: by definition there can not be multiple certificates on the same IP:Port, so, to avoid certificate errors it would have to be a wilcard certificate, covering all served domain names.