Trying to learn something but not sure what to Google...

Matt Shields matt-urrlRJtNKRMsHrnhXWJB8w at public.gmane.org
Fri Sep 10 15:38:14 EDT 2010


On Fri, Sep 10, 2010 at 1:46 PM, Dan Ritter <dsr-mzpnVDyJpH4k7aNtvndDlA at public.gmane.org> wrote:

> On Fri, Sep 10, 2010 at 12:39:01PM -0400, Myrle Francis wrote:
> > Hello (and as always thank you in advance)
> >
> > I have a Linux web server that I use with dydns and understand with a
> > single web server I set up port forwarding but..
> >
> > what I don't understand is how to get two web servers working behind my
> > router(dd-wrt) if they are both using port 80.
> >
> > I understand on a LAN DNS would take the address web1.network.com and
> > send it to the proper machine using dns with port 80.  How does this
> > work with two web servers (ie web1.network.net and web2.network.net)
> > behind my router.  do I have to set up a dns server in a dmz?
> >
> > also in  my first example my web1 is not in in a DMZ (maybe that is a
> > bad idea..) but on it own private network.
> >
> > i'm just looking for what he buzz word is so I can  Google it and any
> > help would be appreciated.
>
> The problem isn't dyndns. The problem is with NAT.
>
> Your ISP has assigned you one IP address. You can have as many
> DNS names pointing to that IP as you want. You can run services
> on any port you wish. But if you want multiple things to answer
> the same IP:port combination, you need a single device that
> answers and then funnels the packets to the right place.
>
> One thing you could do, perhaps, is run all the virtual servers
> on the same machine. Use your web browser's
> virtual-server-by-name capability to decode HTTP1.1 requests and
> answer appropriately. For Apache, see
> http://httpd.apache.org/docs/2.2/vhosts/
>
> Another thing you could do is run a reverse proxy to take the
> same HTTP1.1 requests and farm them out to different machines.
>
> A third thing you can do is ask your ISP for more IP addresses.
>
> A fourth thing you can do is hire an external service to accept
> requests on your behalf and redirect them to various ports on
> your single IP.
>
> A fifth thing you can do is move your hosting to a virtual
> machine instance where the provider will happily sell you as
> many IPs as you need. Or a dedicated server, or many other kinds
> of service.
>
> -dsr-
>
>
>
> --
> http://tao.merseine.nu/~dsr/eula.html<http://tao.merseine.nu/%7Edsr/eula.html>is hereby incorporated by reference.
> You can't defend freedom by getting rid of it.
> _______________________________________________
> Discuss mailing list
> Discuss-mNDKBlG2WHs at public.gmane.org
> http://lists.blu.org/mailman/listinfo/discuss
>

He could also do proxying.  Set all traffic to go to server1 via NAT, then
in his Apache config map a Query String say /foo/ to server2 using Apache's
ProxyPass feature.  See below

ProxyPass /foo http://server2/
ProxyPassReverse /foo http://server2/

http://httpd.apache.org/docs/current/mod/mod_proxy.html

You could also use Dan's suggestion of Virtual Hosts, but for the second
virtual host, proxy the entire Virtual Host to the second server.

Of course, third option is to NAT the second server on a different external
port.  For example NAT port 80 to server 1 port 80, and port 8080 to server
2 port 80.

-matt





More information about the Discuss mailing list