No announcement yet.

IIS6 to IIS7 HTTP Redirection

  • Filter
  • Time
  • Show
Clear All
new posts

  • IIS6 to IIS7 HTTP Redirection


    I currently setup a test site on IIS7 (Server 2008 R2) and our live site is on IIS6(Server 2003 STD). We are trying to migrate to the new server so I've redirected some of our virtual directories to the new server using HTTP Redirection on IIS6. I've allowed all IPs in IIS7.

    It seems to work fine internally but not externally. The external users can't connect to an internal IP address (obviously). The firewall is open on port 80 to the live site. The live site redirects to an internal IP address. Is there a way to accomplish this using HTTP Redirection or do I have to use URLrewrite? If so, how? Would it have to be on IIS7 or IIS6?

    Update: I've installed ARR and URL Rewrite on the test site (IIS7). I'm willing to make this live and open port 80 on it. I can rewrite most of the virtual directories/applications to the old site using URL Rewrite and reverse proxy. Now I can't find any sufficient HowTo's for URLRewrite from server to server. How about shared hosting between IIS7and IIS6? Please help!

    Update: I found this post but I'm not sure if it will work on only individual Virtual Directories/Applications or it's just for the main site. I'll give it a try tomorrow.
    Last edited by shades; 31st May 2011, 21:51.

  • #2
    Re: IIS6 to IIS7 HTTP Redirection

    Can you not redirect this at the network level? I.e. if there's some sort of static NAT or port forwarding taking place from the public IP to the existing IIS 6 server - change that mapping to the IIS 7 server. That would be the cleanest way to do it and you can decomission the IIS 6 server without worrying the new app's proxying going down with it.


    • #3
      Re: IIS6 to IIS7 HTTP Redirection

      Thanks for the reply. It would be easier but they don't want to fully commit to the new setup. They want to test some sites (applications/virtual directories) first on IIS7 by external and internal users. This is also part of a failover cluster which also being tested in this environment.

      Would I be able to add i.e. to our external DNS host files to point to the same external IP address and have both servers forwarded to port 80 and then the ARR proxy will differentiate between the two requests (add a condition in the URL rewrite)? I don't know what would be the best way to do this. Note: we only have one public IP address.


      • #4
        Re: IIS6 to IIS7 HTTP Redirection

        You could try using host headers on the existing IIS 6 server (assuming that's how your hosting multiple apps now), and have a redirect occur to the apps/virtual directories on the IIS7 server, but with apps running on different ports.

        For example:

        Currently, you have, say, 5 apps running on IIS 6 on Server1. All these are managed by the single public IP and using host headers. For the apps you want to redirect, setup the IIS 6 to have a small redirect script when the default page is hit, to, which would be running on the IIS 7 box. From there, you'd need to open up 8080 at the firewall to point to ServerB, and it should be pretty seamless to all parties involved.

        You can probably do this with URL Rewrite/ARR as you want to do, but unfortunately I have little experience with reverse proxy in the IIS world - only Apache.


        • #5
          Re: IIS6 to IIS7 HTTP Redirection

          Great idea! Thanks. I'll redirect to from IIS6 apps to IIS7 apps on port 81. It'll be visible to users unless, I install ARR and URL Rewrite on IIS6.