lunes, 14 de junio de 2010

Sitio ASP que no funciona y devuelve GET /Default.asp |207|800a0046|Permission_denied 80 500 en el log del IIS

A quién no le queda por ahí perdido algún sitio ASP que siempre está pendiente de migrarse? Pues a mi me quedan aún cerca de media docena :-(

En esta última semana me vi forzado a migrar de servidor varios de mis sitios, entre ellos los sitios ASP. Los moví a un servidor de características idénticas al original (mismo SO, misma versión de IIS, mismo motor de BD, ...).

El problema fue que tras la migración, los sitios ASP dejaron de funcionar y comenzaron a arrojar errores del tipo:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Según el log que genera IIS para cada sitio, el sitio problema reportaba la siguiente linea:

GET /Default.asp |207|800a0046|Permission_denied 80 - 190.134.134.72 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+en-US)+AppleWebKit/533.4+(KHTML,+like+Gecko)+Chrome/5.0.375.70+Safari/533.4 __utma=177687591.1624088720.1258724029.1270253540.1270559661.7;+__utmz=177687591.1270559661.7.2.utmccn=(referral)|utmcsr=entrecard.com|utmcct=/signup|utmcmd=referral - www.sweetsndesserts.com 500 0 0 1617 621 765
Las primeras dos cosas que llamaron mi atención fueron el GET de Default.asp, y el mensaje "Permission_denied 80", lo que me hizo pensar en un error de permisos sobre el Default.asp.
Revisé, pero estaba todo normal, los usuarios correctos tenían los permisos correctos.

Tras darle vueltas al asunto, comencé a debuguear el código ASP, comentando bloques de lineas y probando nuevamente cargar el sitio, hasta dar con el bloque que generaba el problema.

Finalmente detecté lo que generaba el error. No era directamente el Default.asp el que tenía problemas de permisos, sino un archivo xml que usa el servicio Text-link-ads.com. Para los que no cononcen text-link-ads.com, es un servicio que, mediante la inclusión de un script en nuestros sitios, muestra enlaces publicitarios y nos paga a cambio. Para ello, su sistema necesita escribir en un archivo xml local, y ese justamente era el archivo que solo tenía permisos de lectura. Al asignarle permisos de escritura todo volvió a funcionar correctamente.

Moraleja: tomarse un tiempo para documentar los detalles de migración de cada uno de nuestros sitios es una buena inversión, especialmente considerando la gran competencia que hay hoy en día entre los proveedores de hosting, que puede llevarnos a cambiar de proveedor bastante seguido.

Compartir en FaceBook

UpTweet