-1

I'm having some difficulty configuring my Cisco 4300 Series router to host multiple websites with a single public IP. I have created my access lists, but the techs over there tell me I must have one static public IP for each website I want to host, and that seems limited to me, that there must be another way. Maybe I am not communicating very well with the Cisco Tech.

I can't ask our users to use a port number in their URL's as that will never fly. So basically I have to map a URL to an internal website. Everything runs on port 80. Is this possible in the Cisco world? What is the design pattern for doing it?

Mike Malter
  • 109
  • 4

1 Answers1

5

It's not a router problem and it has nothing to do with the "Cisco world".

You can host multiple websites on a single web server all on port 80 via a single ip address by using Host Headers (or the Linux equivalent).

joeqwerty
  • 108,377
  • 6
  • 80
  • 171
  • Joe, yes, I am getting that now. I come from the Microsoft ISA Server world where you can have one public facing IP and scores of port 80 websites on many different servers with no difficulty. Now I understand why Microsoft used host headers on IIS servers, which I never had to use before. If you have many web sites on a single server, one public IP can handle it, but if you have 3 or 4 web servers all with multiple web sites, you need one public IP for each web server. This is now clear to me. Thank you for your comments. – Mike Malter Jan 21 '16 at 04:58
  • Glad to help... – joeqwerty Jan 21 '16 at 05:06
  • Joe, I just talked to Cisco tech support and they say because they are a level 4 transport, when you bind the external ip and port to an internal ip the external ip and port must be unique. So you can only have one port 80 on the outside, the rest have to be other ports. So, host headers would not help in this case. Are you at all familiar with Cisco routers? – Mike Malter Jan 21 '16 at 22:25
  • You only need to forward port 80 from the external ip address to port 80 on the internal ip address once. You don't (and can't) forward it multiple times for the same external ip address. The mapping of `external ip address:port` to `internal ip address:port` is one to one. In IIS on the webserver you then configure all of your sites to use Host Header values appropriate for each site. Is it possible that I misunderstood what you're trying to do? Are you trying to forward port 80 to multiple internal servers? – joeqwerty Jan 21 '16 at 22:39
  • Joe, I have this worked out now. In IIS I was not using host headers but had a separate IP for each web site. I changed the IP in bindings for each website to "All Unassigned" and used the url of the site in host name. I bound the inside ip to the outside ip and now all is working. I need one external ip for each webserver, not each website. The disconnect was with the cisco techs as they thought each website ip was on a separate server. I gotta tell ya, moving from ISA server to a cisco router is painful. ISA server was such a great product. Sorry Microsoft made it end of life. – Mike Malter Jan 22 '16 at 00:13
  • Glad you got it sorted. As an aside, it is possible to bind multiple ip addresses to a Windows server and then to multiple websites in IIS. So if you had multiple external ip addresses you could forward them to multiple internal ip addresses all on the same webserver. You would then configure each website to bind to a different internal ip address. In that scenario Host Headers wouldn't be required as each website would be unique based on the internal ip address. But that's a story for another day. In your scenario Host Headers was/is the only method you can use. – joeqwerty Jan 22 '16 at 00:32
  • Yeah, a story for another day. I'm glad I got this worked out. I thought I wasted a lot of money. – Mike Malter Jan 22 '16 at 04:07