Question

Named based virtual host strange behaviour / Apache serves a deregistered site...

  • Posted on November 11, 2014
  • vladbejenaruAsked by Ve Be

Hello,

I would need your support, but for this is better to describe a bit my configuration:

  • Initial Ubuntu 14.04 with LAMP, including finished initial server setup (so I am accessing my server through a regular user – not root – and I am using sudo for the moments when I need root privileges)
  • Apache is set up with name virtual hosts, meaning that I want to host several sites on the server using name virtual hosts
  • For the main site I’ve made a set up following this tutorial: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-with-a-free-signed-ssl-certificate-on-a-vps
  • Initial the main site was set up in 000-default.conf but than I’ve moved it to mainsite.com.conf and I pointed out 000-default.conf to a different folder (I’ve created /var/www/droplet_html for this)
  • DNS set up correctly in digital ocean

My problem is the following: one of the name virtual hosts (nvh1.com) is working correctly and points out to its directory /var/www/nvh1/html/ but when I am accessing the other (nvh2.com) than mainsite.com is loaded. nvh1.com.conf is configured similar to nvh2.com.conf! What is strange for me is that I’ve tested different configurations and I get the same behavior in following scenario:

  • Main site configured as 000-default.conf or as mainsite.com.conf. It does not matter how mainsite.com is configured, when nvh2.com is called in browser it loads mainsite.com
  • nvh2.com.conf registered (a2ensite) or deregistered (asdissite). I’ve tried to deregister it in order to point to 000-default.conf (since the DNS is still on, but no conf file is available for nvh2.com), but strangely Apache2 is serving still mainsite.com. I have test it with some subdomains which are registered in DNS but they are not defined in virtual hosts and they are pointing correctly to what is set up in 000-default.conf Of course the SSL certificate does not match for nvh2.com as it is valid for mainsite.com

What am I missing or what am I doing wrong. I have the feeling that something small is overlooked somewhere as this is not normal behavior…

Here are also my configuration files: 000-default.conf

ServerAdmin webmaster@mainsite.com
DocumentRoot /var/www/droplet_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>```

**mainsite.com.conf (this was the old 000-default.conf)**
```<VirtualHost *:80>
	ServerName mainsite.com
ServerAdmin webmaster@mainsite.com
ServerAlias www.mainsite.com mainsite.org www.mainsite.org
	DocumentRoot /var/www/html
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
	SSLEngine on
	SSLProtocol all –SSLv2
	SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:	RC4+RSA:+HIGH:+MEDIUM
	SSLCertificateFile /path/to/ssl/ssl.crt
	SSLCertificateKeyFile /path/to/ssl/key/myown.key
	SSLCertificateChainFile /path/to/ssl/sub.class1.server.ca.pem
	ServerName mainsite.com
ServerAdmin webmaster@mainsite.com
ServerAlias www.mainsite.com mainsite.org www.mainsite.org
	DocumentRoot /var/www/html
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>```

**nvh1.com.conf**
```<VirtualHost *:80>
	ServerName nvh1.com
ServerAdmin webmaster@nvh1.com
ServerAlias www.nvh1.com
	DocumentRoot /var/www/nvh1.com/html
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>```

**nvh2.com.conf**
```<VirtualHost *:80>
	ServerName nvh2.com
ServerAdmin webmaster@nvh2.com
ServerAlias www.nvh2.com
	DocumentRoot /var/www/nvh2.com/html
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>```
Show comments

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

selfsolved (see comments): issue was from wordpress which in the last version has a special multisite feature. Since both mainsite.com and nvh2.com had both wordpress and wordpress was not properly configured for multisites nvh2.com was pointing to mainsite.com, eventhough it was a different copy of the wordpres source files. Actual status: wordpress is deleted from nvh2.com folder and a simple index.html shows that apache is solving correctly all virtual base name servers. @sierracircle: thanks for the knowhow, I’ve adopted some of your config lines!