Hurray for Open Source projects. At my work, we recently underwent a major system change behind the scenes (moved our line-of-business from a mainframe to an iSeries). When we did, our web server (IIS4 under Windows NT4) started experiencing a lot of problems. Of course, I assumed that it was a problem on the other end, and just dealt with restarting the web services several times a day while we tried to narrow the problem down. But the problems kept getting worse and worse, to the point where the web service would not even stay up for two minutes at a time.
When I finally redirected requests for the main suspect applications to a static page, and the server still crashed and burned, I began to suspect a deeper problem, and I had to broaden my solution options. Fortunately, I had previously begun (and abandoned, due to time constraints) migrating our web site to a Windows 2000 server. I had the entire site functioning except for one of our web apps. Figuring that having 90% of our web site functioning was better than 0%, I suggested to my bosses that we go ahead and make the Win2K box the primary server now, instead of waiting until I worked out the problem with that one service.
The kink in that plan is that we have other services running on the old server, and other internal applications which are hardcoded to the IP address of that machine. So I couldn’t just swap the IP numbers of the two servers. And a DNS change would take too long to propogate, and our customers need to reach our web site now. What I needed was a way to transparently proxy web requests from the old server to the new server. I knew one solution right off the top of my head: Apache HTTPD running as a reverse proxy.
It was easier to get set up than I thought it would be, and seems to be doing the trick just fine.
In other open source rescue news, I know of at least two cases where Open Office was able to rescue corrupted Microsoft PowerPoint presentations, even when PowerPoint itself wouldn’t open the files.