ProdigyBiz Expired

We’re taking down the ProdigyBiz environment today, and have off-loaded the web work to another host. However, instead of just taking the hosts off-line, we have tried to provide a somewhat more palatable experience for unwary visitors.

For those of you interested in the details of the implementation, keep reading. And if you were a ProdigyBiz customer, you may want to check your e-mail address of record.

What Visitors See

The DNS entries for *.prodigybiz.com and *.prodigybiz.net still direct some requests to the old server, so that host will remain up for a bit longer. Here’s what to expect to see when an HTTP request is made for any hostname in prodigybiz.com.

Listing 1

bash-2.05a$ wget -v -s http://anyhost.prodigybiz.com/someschtuff
--14:26:38--  http://anyhost.prodigybiz.com/someschtuff
           => `someschtuff'
Resolving anyhost.prodigybiz.com... done.
Connecting to anyhost.prodigybiz.com[207.115.61.239]:80... connected.
HTTP request sent, awaiting response... 410 Gone
14:26:38 ERROR 410: Gone.

What you see here is an HTTP request for a resource at http://anyhost.prodigybiz.com/someschtuff, and a 410 GONE error is returned. Graphical user-agents will see a custom error message explaining what happened, and where to go. If the request happens to hit the old host instead, then the server simply returns the same error message, but the status code is 404 Not Found.

Listing 2

$ wget -v -s http://anyhost.prodigybiz.com/someschtuff
--14:35:50--  http://anyhost.prodigybiz.com/someschtuff
           => `someschtuff'
Resolving anyhost.prodigybiz.com... 207.115.47.204, 207.115.61.239
Connecting to anyhost.prodigybiz.com[207.115.47.204]:80... connected.
HTTP request sent, awaiting response... 404 Object Not Found
14:35:52 ERROR 404: Object Not Found.

If a request is made for a resource at http://search.prodigybiz.com, it will be redirected to http://www.smartpages.com/.

Listing 3

bash-2.05a$ wget -v -s http://search.prodigybiz.com
--15:01:08--  http://search.prodigybiz.com/
           => `index.html'
Resolving search.prodigybiz.com... done.
Connecting to search.prodigybiz.com[207.115.61.239]:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.smartpages.com/ [following]
--15:01:08--  http://www.smartpages.com/
           => `index.html'
Resolving www.smartpages.com... done.
Connecting to www.smartpages.com[216.173.231.230]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 996 [text/vnd.wap.wml]

Likewise, a request for http://signup.prodigybiz.com/ will be redirected to http://www.webhosting.com/.

Listing 4

$ wget -v -s http://signup.prodigybiz.com/
--14:51:39--  http://signup.prodigybiz.com/
           => `index.html'
Resolving signup.prodigybiz.com... 207.115.61.239
Connecting to signup.prodigybiz.com[207.115.61.239]:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.webhosting.com/ [following]
--14:51:39--  http://www.webhosting.com/
           => `index.html'
Resolving www.webhosting.com... 144.160.97.67
Connecting to www.webhosting.com[144.160.97.67]:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://www.webhosting.com/WHCWEB/index.jsp [following]
--14:51:39--  http://www.webhosting.com/WHCWEB/index.jsp
           => `index.jsp'
Connecting to www.webhosting.com[144.160.97.67]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

What We Did

ProdigyBiz uses a wildcard DNS entry to direct requests for all hosts that are not otherwise specified in the DNS to a single web server. Once there, the request is handled based on the value in the Host: header. We changed this entry to a host with a more flexible server.

*   IN     A   207.115.61.239

On the old host, we set redirects as needed for search and signup. We then created a new virtual server which contained nothing but the shutdown notification. This new server was configured with a custom 404 error message containing the shutdown notification, and the previous default virtual server was stopped.

On the new host, the following entries were added to the configuration.

        RewriteEngine On
        RewriteLog /path/to/my/logfile
        RewriteLogLevel 9
# send requests for search to smartpages
        RewriteCond %{HTTP_HOST} ^search.*
        RewriteRule ^/  http://www.smartpages.com/ [R=301,L]
# and requests for signup to webhosting.com
        RewriteCond %{HTTP_HOST} ^signup.*
        RewriteRule ^/  http://www.webhosting.com/ [R=301,L]
# these next two conditions are not really necessary: belt and suspenders
# the host: header is not signup
        RewriteCond %{HTTP_HOST} !^signup.*
# the host: header is not search
        RewriteCond %{HTTP_HOST} !^search.*
        RewriteCond %{REQUEST_FILENAME} !^/aFileWeNeed
        RewriteCond %{REQUEST_FILENAME} !^/anotherFileWeNeed
        RewriteCond %{REQUEST_FILENAME} !^/theErrorMessage
# rewrite the uri to /, then pass it through
        RewriteRule ^/(.*) / [PT]
# and serve it as a 410 error
        RedirectMatch 410 ^/$
        ErrorDocument 410 /theErrorMessage

After some time, the previous DNS entry expired from cache, and requests began to be made of the new address.

3 Comments

  1. We would like to continue service with you. We request more information as to how we could reach the new host, and how to access our website to make changes. The director of this website has pasted away, and the new director would like more information on how the website works. Please e-mail any information on this matter to madscience4u2@aol.com.

Comments are closed.