Solucionado: la página que solicita no se puede atender debido a la configuración de lista ISAPI y CGI

Estándar

Este es un error que aparece de vez en cuando cuando hacemos un deploy de aplicación en algún servidor nuevo, en el que la aplicación use la versión 4 de .NET.

La solucion estandar, que es la que muestro aquí, es bastante rápida y sencilla.

Debemos revisar si en la configuracion del IIS > Restricciones de ISAPI y CGI , tenemos permitidas las rutas de acceso de la version 4 de ASP.NET. Os dejo unos pantallazos.

Seleccionamos el nombre del servidor en el IIS, luego vamos a la seccion “IIS” de la configuración y abrimos “Restricciones de ISAPI y CGI”.

iis1En la siguiente pantalla debemos seleccionar las extensiones de ASP.NET v4 y pulsar “Permitir”

iis2

Esta es la causa principal del error “la página que solicita no se puede atender debido a la configuración de lista ISAPI y CGI”.

Si conoces otra solución a esta incidencia escribelo en los comentarios.

 

Prestashop URL rewrite en IIS

Estándar

Os dejamos una información que seguro que, a aquellos que por necesidad (o preferencia) necesitan instalar Prestashop en un entorno Windows, os quitara muchos dolores de cabeza:

La configuración del módulo nativo URL rewrite en IIS a través de un archivo web.config para poder activar las friendly URL en Prestashop sin necesidad de trabajar sobre htaccess.

<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”Regla 1 importada”>
<match url=”^api/?(.*)$” ignoreCase=”false” />
<action type=”Rewrite” url=”webservice/dispatcher.php?url={R:1}” appendQueryString=”true” />
</rule>
<rule name=”Regla 2 importada” stopProcessing=”true”>
<match url=”^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}{R:2}{R:3}.jpg” />
</rule>
<rule name=”Regla 3 importada” stopProcessing=”true”>
<match url=”^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}{R:2}{R:3}{R:4}.jpg” />
</rule>
<rule name=”Regla 4 importada” stopProcessing=”true”>
<match url=”^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}/{R:2}/{R:3}/{R:1}{R:2}{R:3}{R:4}{R:5}.jpg” />
</rule>
<rule name=”Regla 5 importada” stopProcessing=”true”>
<match url=”^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}.jpg” />
</rule>
<rule name=”Regla 6 importada” stopProcessing=”true”>
<match url=”^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}.jpg” />
</rule>
<rule name=”Regla 7 importada” stopProcessing=”true”>
<match url=”^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:6}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}{R:8}.jpg” />
</rule>
<rule name=”Regla 8 importada” stopProcessing=”true”>
<match url=”^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:6}/{R:7}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}{R:8}{R:9}.jpg” />
</rule>
<rule name=”Regla 9 importada” stopProcessing=”true”>
<match url=”^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/p/{R:1}/{R:2}/{R:3}/{R:4}/{R:5}/{R:6}/{R:7}/{R:8}/{R:1}{R:2}{R:3}{R:4}{R:5}{R:6}{R:7}{R:8}{R:9}{R:1}0.jpg” />
</rule>
<rule name=”Regla 10 importada” stopProcessing=”true”>
<match url=”^c/([0-9]+)(\-[_a-zA-Z0-9-\.*]*)(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/c/{R:1}{R:2}{R:3}.jpg” />
</rule>
<rule name=”Regla 11 importada” stopProcessing=”true”>
<match url=”^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$” ignoreCase=”false” />
<action type=”Rewrite” url=”img/c/{R:1}{R:2}.jpg” />
</rule>
<rule name=”Regla 12 importada” stopProcessing=”true”>
<match url=”^.*$” />
<conditions logicalGrouping=”MatchAll”>
<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” ignoreCase=”false” />
</conditions>
<action type=”None” />
</rule>
<rule name=”Regla 13 importada” stopProcessing=”true”>
<match url=”^.*$” />
<conditions logicalGrouping=”MatchAll”>
<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” ignoreCase=”true” />
</conditions>

<action type=”Rewrite” url=”index.php” />
</rule>
</rules>
</rewrite>

</system.webServer>

</configuration>

Esto es para la version PrestaShop™ 1.5.0.17

Error 403 o 404 al ejecutar servicio web Asmx o ASP.net Aspx

Estándar

Si al publicar un web service con ASP.NET 2.0 en nuestro servidor web con IIS nos encontramos con errores “HTTP Error 404 – File or Directory not found” o “HTTP Error 403 – Forbidden: Access is denied” debemos revisar ciertos parametros de nuestro servidor IIS.

1. Permisos de carpeta. Aunque es obvio que el usuario anonimo que ejecuta la web deberia tener acceso a las carpetas donde se encuentre el asmx o el aspx no esta de mas revisarlo y aplicarle permisos.

Continuar leyendo

FETCH API_CURSOR y bloqueos en IIS

Estándar

Recientemente hemos sufrido un problema en un servidor IIS 6 , por el cual se bloqueaba la pagina web y un proceso de SQL Server 2005 aparecia con un comando en espera “FETCH API_CURSOR”.

Inicialmente achacabamos el problema al propio servidor SQL Server y hemos intentado dilucidar sin éxito el causante del problema, hemos revisado Procedimientos, Funciones, tiempos de espera, etc, sin conseguir ningun resultado aparente.

Continuar leyendo