Named Virtual Hosts on AWS EC2
Named virtual hosts are not enabled by default on an Amazon AMI. To enable them, edit /etc/httpd/conf/httpd.conf and uncomment line 991:
NameVirtualHost *:80
You can then begin adding your named virtual hosts in the /etc/httpd/conf.d/ directory. Below is an example of a named virtual host file:
<VirtualHost *:80>
ServerAdmin me@example.com
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
ErrorLog /var/log/httpd/error_example_com.log
CustomLog /var/log/httpd/access_example_com.log common
</VirtualHost>
The difference between a named virtual host and an IP-based virtual host is that you need an additional IP address on your server for each virtual host you want to implement. Named virtual hosts come in handy when you only have 1 external IP address or if you want to host multiple websites on the same web server.