Muchos amigos han encontrado muchos problemas al usar IIS6 para crear sitios web. Algunos de estos problemas se han encontrado en IIS5 en el pasado, y otros son nuevos. He estado ocupado toda la tarde y he hecho muchos experimentos. resumen basado en mi experiencia en resolución de problemas. Espero que pueda ayudar a todos :)
Problema 1: las rutas principales no están habilitadas
Ejemplos de síntomas:
Error de Server.MapPath() ASP 0175: 80004005
Caracteres de ruta no permitidos
/0709/dqyllhsub/news/OpenDatabase.asp, línea 4
Caracteres... no están permitidos en el parámetro Ruta de MapPath.
Análisis de razones:
Muchas páginas web utilizan declaraciones como el formato ../ (es decir, volver a la página anterior, es decir, la ruta principal). Sin embargo, por razones de seguridad en IIS6.0, esta opción está desactivada de forma predeterminada.
Solución:
En Propiedades de IIS->Directorio de inicio->Configuración->Opciones. Marque la casilla junto a "Habilitar rutas principales". Confirmar actualización.
Problema 2: Configuración incorrecta de la extensión web de ASP (también se aplica a ASP.NET, CGI)
Ejemplos de síntomas:
Error HTTP 404: archivo o directorio no encontrado.
Análisis de razones:
En IIS6.0, hay una nueva opción de extensión de programa web, en la que puede permitir o deshabilitar ASP, ASP.NET, CGI, IDC y otros programas. De forma predeterminada, ASP y otros programas están prohibidos.
Solución:
Seleccione Páginas Active Server en la extensión del servicio web en IIS y haga clic en "Permitir".
Problema 3: configuración de autenticación incorrecta
Ejemplos de síntomas:
Error HTTP 401.2: no autorizado: acceso denegado debido a la configuración del servidor.
Análisis de causa: IIS admite los siguientes métodos de autenticación web:
Autenticación anónima
IIS crea la cuenta IUSR_nombredeequipo (donde nombredeequipo es el nombre del servidor en el que se ejecuta IIS) para autenticar a los usuarios anónimos cuando solicitan contenido web. Esta cuenta otorga al usuario permisos de inicio de sesión local. Puede restablecer el acceso de usuarios anónimos para utilizar cualquier cuenta válida de Windows.
Autenticación básica
Utilice la autenticación básica para restringir el acceso a archivos en un servidor web con formato NTFS. Con la autenticación básica, los usuarios deben ingresar credenciales y el acceso se basa en la identificación del usuario. Los ID de usuario y las contraseñas se envían a través de la red en texto claro.
Autenticación integrada de Windows
La autenticación integrada de Windows es más segura que la autenticación básica y funciona bien en entornos de intranet donde los usuarios tienen cuentas de dominio de Windows. En la autenticación integrada de Windows, el navegador intenta utilizar las credenciales utilizadas por el usuario actual durante el proceso de inicio de sesión del dominio y, si el intento falla, se le solicita al usuario un nombre de usuario y una contraseña. Si utiliza la autenticación integrada de Windows, la contraseña del usuario no se transmite al servidor. Si el usuario ha iniciado sesión en la computadora local como usuario de dominio, no necesita autenticarse nuevamente al acceder a las computadoras de la red en este dominio.
Autenticación implícita
La autenticación implícita supera muchas de las desventajas de la autenticación básica. Cuando se utiliza la autenticación implícita, la contraseña no se envía en texto claro. Alternativamente, puede utilizar la autenticación implícita a través de un servidor proxy. La autenticación implícita utiliza un mecanismo de desafío/respuesta (el mismo mecanismo utilizado por la autenticación integrada de Windows) donde la contraseña se envía en forma cifrada.
Autenticación de pasaporte .NET
Microsoft .NET Passport es un servicio de autenticación de usuarios que permite la seguridad del inicio de sesión único para que los usuarios estén más seguros al acceder a sitios y servicios web habilitados para .NET Passport. Los sitios habilitados para .NET Passport dependen de un servidor central .NET Passport para autenticar a los usuarios. Sin embargo, el servidor central no autoriza ni niega a usuarios específicos el acceso a sitios individuales habilitados para .NET Passport.
Solución:
Configure diferentes métodos de autenticación según sea necesario (normalmente autenticación anónima, que es el método de autenticación utilizado por la mayoría de los sitios). Las opciones de autenticación se configuran en Propiedades de IIS->Seguridad->Autenticación y control de acceso.
[Cortar-Página]
Problema 4: las restricciones de IP no están configuradas correctamente
Ejemplos de síntomas:
Error HTTP 403.6 - Prohibido: se denegó la dirección IP del cliente.
Análisis de razones:
IIS proporciona un mecanismo de restricción de IP. Puede configurarlo para restringir el acceso de ciertas IP al sitio, o restringir solo el acceso de ciertas IP al sitio si el cliente está en el rango de IP bloqueado por usted o no está permitido dentro del. rango, aparecerá un mensaje de error.
Solución:
Vaya a Propiedades de IIS->Seguridad->Restricciones de dirección IP y nombre de dominio. Si desea restringir el acceso a ciertas direcciones IP, debe seleccionar Acceso autorizado, hacer clic en Agregar para seleccionar las direcciones IP que no están permitidas. Por el contrario, sólo podrás permitir el acceso desde determinadas direcciones IP.
Pregunta 5: La cuenta IUSR está deshabilitada
Ejemplos de síntomas:
Error HTTP 401.1: no autorizado: acceso denegado debido a credenciales no válidas.
Análisis de razones:
Dado que la cuenta utilizada por los usuarios para el acceso anónimo es IUSR_nombre de la máquina, si esta cuenta está deshabilitada, el usuario no podrá acceder.
Solución:
Panel de control->Herramientas administrativas->Administración de computadoras->Usuarios y grupos locales, habilite la cuenta IUSR_nombre de máquina.
Problema 6: permisos NTFS configurados incorrectamente
Ejemplos de síntomas:
Error HTTP 401.3: no autorizado: el acceso se deniega debido a la ACL configurada en el recurso solicitado.
Análisis de razones:
El usuario del cliente web pertenece al grupo de usuarios. Por lo tanto, si los permisos NTFS del archivo son insuficientes (por ejemplo, no hay permiso de lectura), la página será inaccesible.
Solución:
Vaya a la pestaña de seguridad de la carpeta y configure los permisos del usuario, al menos dé permiso de lectura. No entraré en detalles sobre la configuración de permisos NTFS aquí.
Pregunta 7: La cuenta IWAM no está sincronizada
Ejemplos de síntomas:
HTTP 500: error interno del servidor
Análisis de razones:
La cuenta IWAM es una cuenta integrada creada automáticamente por el sistema al instalar IIS. Una vez establecida la cuenta IWAM, Active Directory, la base de datos de la metabase IIS y la aplicación COM+ la utilizan conjuntamente. La contraseña de la cuenta la guardan las tres partes respectivamente, y el sistema operativo es responsable de la sincronización de las contraseñas IWAM guardadas por estas tres. fiestas. El trabajo de sincronización de contraseñas del sistema para las cuentas IWAM a veces falla, lo que genera contraseñas inconsistentes para las cuentas IWAM.
Solución:
Si AD existe, seleccione Inicio->Programas->Herramientas administrativas->Usuarios y computadoras de Active Directory. Establezca una contraseña para la cuenta IWAM.
Ejecute c:InetpubAdminScripts>adsutil SET w3svc/WAMUserPass + contraseña para sincronizar la contraseña de la base de datos de la metabase de IIS
Ejecute cscript c:inetpubadminscriptssynciwam.vbs -v para sincronizar la contraseña de la cuenta IWAM en la aplicación COM+
Pregunta 8: Los problemas de configuración de MIME impiden que se descarguen ciertos tipos de archivos (tomando ISO como ejemplo)
Ejemplos de síntomas:
Error HTTP 404: archivo o directorio no encontrado.
Análisis de razones:
IIS6.0 canceló la compatibilidad con algunos tipos MIME, como ISO, lo que provocó errores de descarga del cliente.
Solución:
En Propiedades de IIS->Encabezado HTTP->Tipo MIME->Nuevo. En el siguiente cuadro de diálogo, complete la extensión como .ISO y el tipo MIME como aplicación.
Además, el bloqueo del firewall, los errores de configuración de ODBC, las limitaciones de rendimiento del servidor web, las limitaciones de subprocesos y otros factores también son posibles razones de la inaccesibilidad del servidor IIS, que no se analizarán una por una aquí. Espero que esta publicación pueda resolver la mayoría de tus problemas :)
Problema 4: las restricciones de IP no están configuradas correctamente
Ejemplos de síntomas:
Error HTTP 403.6 - Prohibido: se denegó la dirección IP del cliente.
Análisis de razones:
IIS proporciona un mecanismo de restricción de IP. Puede configurarlo para restringir el acceso de ciertas IP al sitio, o restringir solo el acceso de ciertas IP al sitio si el cliente está en el rango de IP bloqueado por usted o no está permitido dentro del. rango, aparecerá un mensaje de error.
Solución:
Vaya a Propiedades de IIS->Seguridad->Restricciones de dirección IP y nombre de dominio. Si desea restringir el acceso a ciertas direcciones IP, debe seleccionar Acceso autorizado, hacer clic en Agregar para seleccionar las direcciones IP que no están permitidas. Por el contrario, sólo podrás permitir el acceso desde determinadas direcciones IP.
Pregunta 5: La cuenta IUSR está deshabilitada
Ejemplos de síntomas:
Error HTTP 401.1: no autorizado: acceso denegado debido a credenciales no válidas.
Análisis de razones:
Dado que la cuenta utilizada por los usuarios para el acceso anónimo es IUSR_nombre de la máquina, si esta cuenta está deshabilitada, el usuario no podrá acceder.
Solución:
Panel de control->Herramientas administrativas->Administración de computadoras->Usuarios y grupos locales, habilite la cuenta IUSR_nombre de máquina.
Problema 6: permisos NTFS configurados incorrectamente
Ejemplos de síntomas:
Error HTTP 401.3: no autorizado: el acceso se deniega debido a la ACL configurada en el recurso solicitado.
Análisis de razones:
El usuario del cliente web pertenece al grupo de usuarios. Por lo tanto, si los permisos NTFS del archivo son insuficientes (por ejemplo, no hay permiso de lectura), la página será inaccesible.
Solución:
Vaya a la pestaña de seguridad de la carpeta y configure los permisos del usuario, al menos dé permiso de lectura. No entraré en detalles sobre la configuración de permisos NTFS aquí.
Pregunta 7: La cuenta IWAM no está sincronizada
Ejemplos de síntomas:
HTTP 500: error interno del servidor
Análisis de razones:
La cuenta IWAM es una cuenta integrada creada automáticamente por el sistema al instalar IIS. Una vez establecida la cuenta IWAM, Active Directory, la base de datos de la metabase IIS y la aplicación COM+ la utilizan conjuntamente. La contraseña de la cuenta la guardan las tres partes respectivamente, y el sistema operativo es responsable de la sincronización de las contraseñas IWAM guardadas por estas tres. fiestas. El trabajo de sincronización de contraseñas del sistema para las cuentas IWAM a veces falla, lo que genera contraseñas inconsistentes para las cuentas IWAM.
Solución:
Si AD existe, seleccione Inicio->Programas->Herramientas administrativas->Usuarios y computadoras de Active Directory. Establezca una contraseña para la cuenta IWAM.
Ejecute c:InetpubAdminScripts>adsutil SET w3svc/WAMUserPass + contraseña para sincronizar la contraseña de la base de datos de la metabase de IIS
Ejecute cscript c:inetpubadminscriptssynciwam.vbs -v para sincronizar la contraseña de la cuenta IWAM en la aplicación COM+
Pregunta 8: Los problemas de configuración de MIME impiden que se descarguen ciertos tipos de archivos (tomando ISO como ejemplo)
Ejemplos de síntomas:
Error HTTP 404: archivo o directorio no encontrado.
Análisis de razones:
IIS6.0 canceló la compatibilidad con algunos tipos MIME, como ISO, lo que provocó errores de descarga del cliente.
Solución:
En Propiedades de IIS->Encabezado HTTP->Tipo MIME->Nuevo. En el siguiente cuadro de diálogo, complete la extensión como .ISO y el tipo MIME como aplicación.
Además, el bloqueo del firewall, los errores de configuración de ODBC, las limitaciones de rendimiento del servidor web, las limitaciones de subprocesos y otros factores también son posibles razones de la inaccesibilidad del servidor IIS, que no se analizarán una por una aquí. Espero que esta publicación pueda resolver la mayoría de tus problemas :)