I'm setting up an Apache 2.2 Ubuntu web server for internal services that is also supposed to be accessed from outside our LAN. Our LAN has a single external IP that is the external IP of our RV042 Cisco router.
We have set up several A records on our external DNS server that point to this IP.
Our internal DNS server resolve the same records to the internal IP of our web server, so computers from inside the network can access them using the same address as if they were outside.
We forwarded the router's external 80 port to our web server's 80 port.
I have set up one Virtual Host for each domain name in our list, and my httpd.conf is something like this:
ServerName web.domain.com NameVirtualHost *:80 <VirtualHost *:80> ServerName alfresco.domain.com <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /alfresco http://localhost:8080/alfresco ProxyPassReverse /alfresco http://localhost:8080/alfresco ProxyPass /share http://localhost:8080/share ProxyPassReverse /share http://localhost:8080/share </VirtualHost> <VirtualHost *:80> ServerName crm.domain.com DocumentRoot /var/www/sugarcrm </VirtualHost>
Now, this works if we are in our LAN.
However, if we are outside of our LAN we reach our web server's default page saying:
It Works! This is the default web page for this server.
But we can't reach the virtual hosts, as if the domain name is not being preserved when the router forward the packets to the web server.
Am I doing something wrong? How can I check what is going on? What should be the settings to make this work from outside?