I am reading:

https://httpd.apache.org/docs/2.4/vhosts/examples.html

And the statement:

"The asterisks match all addresses, so the main server serves no requests. Due to the fact that the virtual host with |ServerName www.example.com| is first in the configuration file, it has the highest priority and can be seen as the default or primary server. That means that if a request is received that does not match one of the specified |ServerName <https://httpd.apache.org/docs/2.4/mod/core.html#servername>| directives, it will be served by this first |<VirtualHost> <https://httpd.apache.org/docs/2.4/mod/core.html#virtualhost>|."

I read this that if I have a conf file that does not have virtual host directive, it basically fails?

If my first virtual host is:

<VirtualHost *:80>

#          Alias /roundcubemail /usr/share/roundcubemail
#          Alias /webmail /usr/share/roundcubemail

         ServerName webmail.$your_domain_tld
         ServerAlias webmail

         RewriteEngine On
         ReWriteCond %{HTTP_HOST} =webmail.$your_domain_tld [NC]
         RewriteCond %{SERVER_PORT} !=443
         RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
         ExpiresDefault "access plus 10 years"
         AddOutputFilterByType DEFLATE text/html text/plain text/xml
         php_admin_flag session.cookie_secure "1"

</VirtualHost>

any config that does not use virtualhost (that is just an Alias and directory directive) first passes through this first virtual host. And the way to 'fix' this is to have a dummy first virtual directive:

/etc/httpd/conf.d/00-init.conf

<VirtualHost*:80>ServerNamefoo.bar.com</VirtualHost>


?


Reply via email to