¿Cómo expresar múltiples datos y tomar su valor intermedio en una página web dinámica asp?
Resolución de errores internos de IIS5 HTTP500
Autor: Anónimo Fuente: Internet Registro: 2004-12-19
1. Error de rendimiento
El error del servidor interno HTTP 500 de IIS5 es uno de los errores que encontramos a menudo. Su principal manifestación de error es que no se puede navegar por el programa ASP pero la página web estática HTM no se ve afectada. Además, cuando ocurre un error, el registro de eventos del sistema y el registro de eventos de seguridad tendrán registros correspondientes.
Los detalles son los siguientes:
(1) Rendimiento en IE
Al explorar una página ASP que anteriormente se ejecutaba normalmente, se producirá el siguiente error: < /p >
No se puede mostrar la página web
Hay un problema con la página web que desea visitar, por lo que no se puede mostrar.
Pruebe lo siguiente:
Abra la página de inicio ;;y busque enlaces a la información que necesita.
Haz clic en el botón Actualizar o vuelve a intentarlo más tarde.
HTTP 500 - Error interno del servidor
Servicios de información de Internet
Información técnica (soporte personal)
Detalles:
Soporte de Microsoft
O:
Error de aplicación del servidor
El servidor ha encontrado un error al cargar una aplicación durante el procesamiento de su solicitud. Consulte. el registro de eventos para obtener más información detallada. Comuníquese con el administrador del servidor para obtener ayuda.
(2) Registros de seguridad (2 elementos)
Tipo de evento: auditoría fallida
<. p>Fuente del evento: SeguridadTipo de evento: Iniciar sesión/Cerrar sesión
ID del evento: 529
Fecha: 2001-9-9
Evento: 11:17:07
Usuario: NT AUTHORITY\SYSTEM
Equipo: MISERVIDOR
Descripción:
Error de inicio de sesión:
Motivo: Nombre de usuario desconocido o contraseña incorrecta
Nombre de usuario: IWAM_MYSERVER
Dominio: MYDOM
Tipo de inicio de sesión: 4
Proceso de inicio de sesión: Advapi
Paquete de autenticación: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
Nombre de la estación de trabajo: MYSERVER
Tipo de evento: Auditoría de fallas
Fuente del evento: Seguridad
Tipo de evento: inicio de sesión de cuenta
ID de evento: 681
Fecha: 2001-9-9
Evento: 11:17 :07
Usuario: NT AUTHORITY\SYSTEM
Computadora: MYSERVER
Descripción:
Iniciar sesión en la cuenta: IWAM_MYSERVER
Usuario que inició sesión: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
Desde la estación de trabajo: MYSERVER
Falló.
El código de error es: 3221225578
(3) Registros en el registro del sistema (2 entradas)
Tipo de evento: Error
Fuente del evento: DCOM
Tipo de evento: Ninguno
ID de evento: 10004
Fecha: 2001-9-9
Evento: 11:20:26
Usuario: N/A
Equipo: MISERVIDOR
Descripción:
DCOM encontró el error "No se puede actualizar la contraseña. El valor proporcionado para el la nueva contraseña contiene un valor no permitido en la contraseña." y no puede iniciar sesión para ejecutar el servidor en .\IWAM_MYSERVER:
Tipo de evento: Advertencia
Fuente del evento: W3SVC
Tipo de evento: Ninguno
ID de evento: 36
Fecha: 9-9-2001
Evento: 11:20:26
Usuario: N/A
Equipo: MISERVIDOR
Descripción:
El servidor no pudo transferir la aplicación ''/LM/W3SVC/4/ Raíz''. El error es ''RunAs debe tener el formato
Para obtener más información sobre este mensaje, visite el sitio de soporte en línea de Microsoft: ;;.
2. Análisis de causa
Análisis exhaustivo del rendimiento del error anterior, podemos ver que se debe principalmente a la contraseña incorrecta de la cuenta IWAM (que es la cuenta IWAM_MYSERVER en mi computadora) causando el error interno HTTP 500.
Antes de analizar en detalle las causas de los errores internos de HTTP500, demos una breve introducción a la cuenta IWAM: La cuenta IWAM es una cuenta integrada creada automáticamente por el sistema al instalar IIS5. Se utiliza principalmente. para otra cosa que no sea iniciar el proceso de Solicitud de Servicios de Información de Internet. El nombre de la cuenta IWAM variará según el nombre NETBIOS de cada computadora. El formato común es IWAM_MACHINE, que consta del prefijo "IWAM", la línea de conexión "_" y el nombre NETBIOS de la computadora. El nombre NETBIOS de mi computadora es MYSERVER, por lo que el nombre de la cuenta IWAM en mi computadora es IWAM_MYSERVER, que es muy similar al método de denominación de la cuenta anónima de IIS ISUR_MACHINE.
Una vez establecida la cuenta IWAM, es utilizada por tres partes: Active Directory, la base de datos de la metabase IIS y la aplicación COM+. La contraseña de la cuenta la guardan las tres partes respectivamente, y el sistema operativo es responsable de la misma. sincronización de las contraseñas IWAM guardadas por estas tres partes. Según el sentido común, podemos estar seguros de que el sistema operativo es responsable del trabajo y no tenemos que preocuparnos por los errores. Sin embargo, ya sea por un error u otras razones, el trabajo de sincronización de contraseñas del sistema para las cuentas IWAM a veces falla, lo que provoca. las contraseñas utilizadas por las cuentas IWAM de terceros son inconsistentes. Cuando una aplicación IIS o COM+ utiliza una contraseña IWAM incorrecta para iniciar sesión en el sistema e inicia las aplicaciones agrupadas fuera de proceso de IIS, el sistema rechazará la solicitud debido a una contraseña incorrecta, lo que provocará que las aplicaciones agrupadas fuera de proceso de IIS se bloqueen. no se puede iniciar, es decir, "No se puede ejecutar el servidor" que vemos en el evento de error ID10004 (aquí está la CLAVE de las aplicaciones agrupadas fuera de proceso de IIS) no se puede transferir a la aplicación IIS5 y se genera el error interno HTTP 500. .
3. Solución
Después de conocer la causa del error interno HTTP 500, la solución es relativamente sencilla, es decir, sincronizar manualmente la cuenta IWAM en Active Directory, base de datos de la metabase de IIS y COM+ Contraseña en la aplicación.
La operación específica se divide en tres pasos y debe iniciar sesión en la computadora como administrador para proporcionar permisos operativos suficientes (la cuenta IWAM es IWAM_MYSERVER como ejemplo).
(1) Cambiar la contraseña de la cuenta IWAM_MYSERVER en Active Directory
Debido a que la contraseña de la cuenta IWAM está controlada por el sistema y se genera aleatoriamente, no sabemos cuál es Para poder completar los siguientes dos pasos Para que la sincronización de contraseñas funcione, debemos configurar la contraseña de la cuenta IWAM en un valor que conozcamos.
1. Seleccione "Inicio" -> "Programas" -> "Herramientas administrativas" -> "Usuarios y computadoras de Active Directory" para iniciar el complemento "Usuarios y computadoras de Active Directory".
2. Haga clic en "usuario", seleccione "IWAM_MYSERVER" a la derecha, haga clic derecho y seleccione "Restablecer contraseña (T)...", y establezca una nueva contraseña para IWAM_MYSERVER en el cuadro de restablecimiento de contraseña. que aparece. Contraseña, aquí la configuramos en "Aboutnt2001" (sin comillas), confirmamos y esperamos a que la contraseña se cambie correctamente.
(2) Sincronizar la contraseña de la cuenta IWAM_MYSERVER en la metabase de IIS
Quizás porque este cambio es demasiado sensible e importante, Microsoft no nos proporciona una forma explícita de modificar la contraseña de la cuenta IWAM_MYSERVER en la metabase de IIS Una interfaz de usuario tradicional, solo se proporciona un script de administración adsutil.vbs con IIS5. Este script se encuentra en el subdirectorio C:\inetpub\adminscripts (la ubicación puede cambiar debido a diferentes configuraciones cuando. instala IIS5).
El script adsutil.vbs es potente, tiene muchos parámetros y es complicado de usar. Aquí solo proporcionamos el método de uso de este script para modificar la contraseña de la cuenta IWAM_MYSERVER:
adsutil SET. w3svc/WAMUserPass Contraseña
El parámetro "Contraseña" es la nueva contraseña de la cuenta IWAM que se va a configurar. Por lo tanto, el comando para cambiar la contraseña de la cuenta IWAM_MYSERVER en la metabase de IIS a "Aboutnt2001" es:
c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass "Aboutnt2001"
La modificación fue exitosa Luego, el sistema le indicará lo siguiente:
WAMUserPass: (String) "Aboutnt2001"
(3) Sincronice la contraseña de IWAM_MYSERVER utilizada por la aplicación COM+
Sincronización Para la contraseña de IWAM_MYSERVER utilizada por las aplicaciones COM+, tenemos dos formas de elegir: una es usar el complemento MMC del servicio de componentes y la otra es usar el script de sincronización de cuentas IWAM synciwam.vbs .
1. Utilice la unidad de gestión MMC de Servicios de componentes
(1) Inicie la unidad de gestión de Servicios de componentes: Seleccione "Inicio" -> "Ejecutar" -> "MMC" para iniciar consola de administración, abra el cuadro de diálogo "Agregar o quitar complemento" y agregue el complemento "Servicios de componentes".
(2) Busque "Servicios de componentes" -> "Equipo" -> "Mi PC" -> "Aplicaciones COM+" -> "Aplicaciones agrupadas fuera de proceso", haga clic derecho en "Fuera - Aplicaciones agrupadas fuera del proceso"->"Propiedades".
(3) Cambie a la pestaña "Indicadores" del cuadro de diálogo de propiedades "Aplicaciones agrupadas fuera de proceso". En la selección "Esta aplicación se ejecuta con la siguiente cuenta", se seleccionará "Este usuario" y el nombre de usuario es "IWAM_MYSERVER". Estos son predeterminados y no es necesario cambiarlos. Ingrese la contraseña correcta "Aboutnt2001" en los cuadros de texto "Contraseña" y "Confirmar contraseña" a continuación y confirme para salir.
(4) Si el sistema indica "La aplicación fue creada por más de un producto externo. ¿Está seguro de que desea que estos productos la admitan?"
(5) Si configuramos la "Protección de aplicaciones" de algunas otras Webs en "Alta (Independiente)" en IIS, entonces la contraseña de la cuenta IWAM de la aplicación COM+ utilizada por esta WEB también debe ser sincrónica . Repita los pasos (1)-(4) para sincronizar las contraseñas de la cuenta IWAM de otras aplicaciones fuera de proceso correspondientes.
2. Utilice el script de sincronización de cuentas IWAM synciwam.vbs.
De hecho, Microsoft ha descubierto que hay problemas con la sincronización de contraseñas de las cuentas IWAM, por lo que establece la contraseña de la cuenta IWAM por separado. en el script de administración de IIS5 se escribió simultáneamente un script synciwam.vbs. Este script se encuentra en el subdirectorio C:\inetpub\adminscripts (la ubicación puede cambiar debido a diferentes configuraciones al instalar IIS5).
El uso del script synciwam.vbs es relativamente simple:
cscript synciwam.vbs [-v|-h]
El parámetro "-v" indica detalles visualización de la ejecución del script Todo el proceso (recomendado), el parámetro "-h" se utiliza para mostrar información de ayuda simple.
Para sincronizar la contraseña de la cuenta IWAM_MYSERVER en la aplicación COM+, solo necesitamos ejecutar "cscript synciwam.vbs -v", de la siguiente manera:
cscript c:\inetpub\ adminscripts \synciwam.vbs -v
Microsoft (R) Windows Script Host Versión 5.6
Copyright (C) Microsoft Corporation 1996-2000. Reservados todos los derechos.
WamUserName:IWAM_MYSERVER
WamUserPass:Aboutnt2001
Aplicaciones IIS definidas:
Nombre, AppIsolated, ID del paquete
w3svc, 0,
Raíz, 2,
IISHelp, 2,
IISAdmin, 2,
IISSamples, 2,
MSADC, 2,
RAÍZ, 2,
IISAdmin, 2,
IISHelp, 2,
Raíz, 2,
Raíz, 2,
Aplicaciones fuera de proceso definidas:
Recuento: 1
Actualización de aplicaciones: p> p>
Nombre: Aplicaciones agrupadas fuera de proceso de IIS Clave:
Como se puede ver en la ejecución del script anterior, usar el script synciwam.vbs es más completo y más rápido que utilizando servicios de componentes.
Primero encuentra la cuenta IWAM "IWAM_MYSERVER" de la base de datos de la metabase de IIS y recupera la contraseña correspondiente "Aboutnt2001", luego busca todas las aplicaciones IIS definidas y las aplicaciones fuera de proceso, y sincroniza la cuenta IWAM de cada aplicación fuera de proceso una por una. . contraseña.
Al utilizar el script synciwam.vbs, una cosa a tener en cuenta es que antes de ejecutar synciwam.vbs, debe asegurarse de que la base de datos de la metabase de IIS y la contraseña de IWAM en Active Directory sean consistentes. Debido a que el script synciwam.vbs obtiene la contraseña de la cuenta IWAM de la base de datos de la metabase de IIS en lugar de Active Directory, si la contraseña en la metabase de IIS es incorrecta, la contraseña obtenida por synciwam.vbs también será incorrecta y la operación de sincronización se ejecuta para "Actualizar aplicaciones" El sistema informará el error 80110414, que significa "aplicación no encontrada".
Bien, hasta ahora, las contraseñas de la cuenta IWAM en Active Directory, la base de datos de la metabase IIS y la aplicación COM+ se han sincronizado exitosamente y su programa ASP puede ejecutarse nuevamente.