El error del servidor interno HTTP 500 de IIS5 es un error que encontramos a menudo, entonces, ¿cómo solucionarlo? ¡Hoy te explicaré cómo solucionarlo por completo!
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 el programa ASP no puede navegar 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 navegar por una página asp que anteriormente funcionaba normalmente, se producirá el siguiente error:
No se puede mostrar la página web
Hay un problema con la página a la que intentas acceder, por lo que no se puede mostrar.
Por favor intente lo siguiente:
Abra la página de inicio http://127.0.0.1 y busque enlaces a la información que necesita.
Haga clic en el botón Actualizar o vuelva a intentarlo más tarde.
HTTP 500: error interno del servidor
Servicios de información de Internet
Información técnica (individuos de apoyo)
Detalles:
Soporte de Microsoft
O:
Error de aplicación del servidor
El servidor encontró un error al cargar una aplicación durante el procesamiento de su solicitud. Consulte el registro de eventos para obtener información más detallada. Comuníquese con el administrador del servidor para obtener ayuda.
(2) Registros de registro de seguridad (2 elementos)
Tipo de evento: auditoría fallida
Fuente del evento: seguridad
Tipo de evento: Iniciar sesión/Cerrar sesión
ID de evento: 529
Fecha: 2001-9-9
Evento: 11:17:07
Usuario: AUTORIDAD NTSISTEMA
Computadora: MI SERVIDOR
describir:
Error de inicio de sesion:
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: MISERVIDOR
Tipo de evento: auditoría fallida
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: AUTORIDAD NTSISTEMA
Computadora: MI SERVIDOR
describir:
Inicie sesión en la cuenta: IWAM_MYSERVER
Usuario conectado: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
Desde la estación de trabajo: MISERVIDOR
Fracasado. El código de error es: 3221225578
(3) Registros en el registro del sistema (2 elementos)
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
Computadora: MI SERVIDOR
describir:
DCOM encontró el error "No se puede actualizar la contraseña. El valor proporcionado para la nueva contraseña contiene un valor que no está permitido en la contraseña". y no pudo iniciar sesión para ejecutar el servidor en .IWAM_MYSERVER:
{3D14228D-FBE1-11D0-995D-00C04FD919C1}
Tipo de evento: Advertencia
Fuente del evento: W3SVC
Tipo de evento: Ninguno
ID de evento: 36
Fecha: 2001-9-9
Evento: 11:20:26
Usuario: N/A
Computadora: MI SERVIDOR
describir:
El servidor no pudo preparar la aplicación '/LM/W3SVC/4/Root'. El error es "RunAs debe tener el formato <nombre de dominio><nombre de usuario> o simplemente <nombre de usuario>".
Para obtener más información sobre este mensaje, visite el sitio de soporte en línea de Microsoft: http://www.microsoft.com/contentredirect.asp.
[Cortar-Página]
Al analizar exhaustivamente el rendimiento del error anterior, podemos ver que el error interno HTTP 500 se debe principalmente a la contraseña incorrecta de la cuenta IWAM (que es la cuenta IWAM_MYSERVER en mi computadora).
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 iniciar servicios de información de Internet para aplicaciones. fuera del proceso. 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, 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. 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 Vemos "No se puede ejecutar el servidor {3D14228D-FBE1-11D0-995D-00C04FD919C1}" en el evento de error ID10004 (aquí {3D14228D-FBE1-11D0-995D-00C04FD919C1} es la CLAVE de IIS fuera de proceso). Aplicaciones agrupadas), no se pueden transferir a la aplicación IIS5 y se produce el error interno HTTP 500.
Conociendo la causa del error interno HTTP 500, la solución es relativamente sencilla, que consiste en sincronizar manualmente las contraseñas de la cuenta IWAM en Active Directory, la base de datos de la metabase IIS y la aplicación COM+.
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 completar los siguientes dos pasos de sincronización de contraseñas, debemos configurar la contraseña de la cuenta IWAM en un valor que nosotros. saber.
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 aquí. a "Aboutnt2001" (sin comillas), OK, espere a que la contraseña se cambie correctamente.
(2) Sincronice 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 proporciona una interfaz de usuario explícita para que modifiquemos la contraseña de la cuenta IWAM_MYSERVER en la metabase de IIS. Solo proporciona un script de administración adsutil.vbs con IIS5. inetpub En el subdirectorio adminscripts (la ubicación puede cambiar debido a diferentes configuraciones al instalar 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:InetpubAdminScripts>adsutil SET w3svc/WAMUserPass "Aboutnt2001"
Una vez que la modificación sea exitosa, el sistema le indicará lo siguiente:
WAMUserPass: (Cadena) "Aboutnt2001"
(3) Contraseña de IWAM_MYSERVER utilizada para sincronizar aplicaciones COM+
Para sincronizar 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 del servicio de componentes
(1) Inicie el complemento Servicios de componentes: seleccione "Inicio" -> "Ejecutar" -> "MMC", inicie la consola de administración, abra el cuadro de diálogo "Agregar o quitar complemento" y agregue "Servicios de componentes". " complemento.
(2) Busque "Servicios de componentes" -> "Equipo" -> "Mi PC" -> "Aplicaciones COM+" -> "Aplicaciones agrupadas fuera de proceso", haga clic derecho en "Aplicaciones agrupadas fuera de 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 recibir soporte para estos productos?"
(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 sincronizarse. Repita los pasos (1)-(4) para sincronizar las contraseñas de la cuenta IWAM de otras aplicaciones fuera de proceso correspondientes.
2. Utilice la cuenta IWAM para sincronizar el script synciwam.vbs
De hecho, Microsoft ha descubierto que hay problemas con la sincronización de contraseñas de las cuentas IWAM, por lo que ha escrito un script independiente synciwam.vbs para la sincronización de contraseñas de las cuentas IWAM en el script de administración de IIS5. Este script se encuentra en C:inetpubadminscripts. subdirectorio (la ubicación puede cambiar según la configuración que establezca al instalar IIS5).
El uso del script synciwam.vbs es relativamente simple:
cscript sincronizado.vbs [-v|-h]
El parámetro "-v" significa mostrar todo el proceso de ejecución del script en detalle (recomendado), y el parámetro "-h" se utiliza para mostrar información de ayuda simple.
Si queremos 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:inetpubadminscriptssynciwam.vbs -v
Microsoft (R) Windows Script Host versión 5.6
Copyright (C) Microsoft Corporation 1996-2000. Reservados todos los derechos.
Nombre de usuario de Wam: IWAM_MYSERVER
WamUserPass:Aboutnt2001
Aplicaciones IIS definidas:
Nombre, AppIsolated, ID del paquete
w3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}
raíz, 2,
IISHayuda, 2,
Administrador IISA, 2,
IISSmuestras, 2,
MSADC, 2,
RAÍZ, 2,
Administrador IISA, 2,
IISHayuda, 2,
raíz, 2,
raíz, 2,
Solicitudes fuera de proceso definidas:
Contar: 1
{3D14228D-FBE1-11d0-995D-00C04FD919C1}
Actualización de aplicaciones:
Nombre: Aplicaciones agrupadas fuera de proceso de IIS Clave: {3D14228D-FBE1-11D0-995D-00C04FD919C1}
De la ejecución del script anterior se puede ver que usar el script synciwam.vbs es más completo y más rápido que usar los 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 en "Actualización de aplicaciones" El sistema informará un error 80110414, es decir, "No se puede encontrar la aplicación {3D14228D-FBE1-11D0-995D-00C04FD919C1}".
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 correctamente y su programa ASP puede ejecutarse nuevamente.
[Cortar-Página]Al analizar exhaustivamente el rendimiento del error anterior, podemos ver que el error interno HTTP 500 se debe principalmente a la contraseña incorrecta de la cuenta IWAM (que es la cuenta IWAM_MYSERVER en mi computadora).
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 iniciar servicios de información de Internet para aplicaciones. fuera del proceso. 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, 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. 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 Vemos "No se puede ejecutar el servidor {3D14228D-FBE1-11D0-995D-00C04FD919C1}" en el evento de error ID10004 (aquí {3D14228D-FBE1-11D0-995D-00C04FD919C1} es la CLAVE de IIS fuera de proceso). Aplicaciones agrupadas), no se pueden transferir a la aplicación IIS5 y se produce el error interno HTTP 500.
Conociendo la causa del error interno HTTP 500, la solución es relativamente sencilla, que consiste en sincronizar manualmente las contraseñas de la cuenta IWAM en Active Directory, la base de datos de la metabase IIS y la aplicación COM+.
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 completar los siguientes dos pasos de sincronización de contraseñas, debemos configurar la contraseña de la cuenta IWAM en un valor que nosotros. saber.
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 aquí. a "Aboutnt2001" (sin comillas), OK, espere a que la contraseña se cambie correctamente.
(2) Sincronice 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 proporciona una interfaz de usuario explícita para que modifiquemos la contraseña de la cuenta IWAM_MYSERVER en la metabase de IIS. Solo proporciona un script de administración adsutil.vbs con IIS5. inetpub En el subdirectorio adminscripts (la ubicación puede cambiar debido a diferentes configuraciones al instalar 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:InetpubAdminScripts>adsutil SET w3svc/WAMUserPass "Aboutnt2001"
Una vez que la modificación sea exitosa, el sistema le indicará lo siguiente:
WAMUserPass: (Cadena) "Aboutnt2001"
(3) Contraseña de IWAM_MYSERVER utilizada para sincronizar aplicaciones COM+
Para sincronizar 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 del servicio de componentes
(1) Inicie el complemento Servicios de componentes: seleccione "Inicio" -> "Ejecutar" -> "MMC", inicie la consola de administración, abra el cuadro de diálogo "Agregar o quitar complemento" y agregue "Servicios de componentes". " complemento.
(2) Busque "Servicios de componentes" -> "Equipo" -> "Mi PC" -> "Aplicaciones COM+" -> "Aplicaciones agrupadas fuera de proceso", haga clic derecho en "Aplicaciones agrupadas fuera de 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 recibir soporte para estos productos?"
(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 sincronizarse. Repita los pasos (1)-(4) para sincronizar las contraseñas de la cuenta IWAM de otras aplicaciones fuera de proceso correspondientes.
2. Utilice la cuenta IWAM para sincronizar el script synciwam.vbs
De hecho, Microsoft ha descubierto que hay problemas con la sincronización de contraseñas de las cuentas IWAM, por lo que ha escrito un script independiente synciwam.vbs para la sincronización de contraseñas de las cuentas IWAM en el script de administración de IIS5. Este script se encuentra en C:inetpubadminscripts. subdirectorio (la ubicación puede cambiar según la configuración que establezca al instalar IIS5).
El uso del script synciwam.vbs es relativamente simple:
cscript sincronizado.vbs [-v|-h]
El parámetro "-v" significa mostrar todo el proceso de ejecución del script en detalle (recomendado), y el parámetro "-h" se utiliza para mostrar información de ayuda simple.
Si queremos 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:inetpubadminscriptssynciwam.vbs -v
Microsoft (R) Windows Script Host versión 5.6
Copyright (C) Microsoft Corporation 1996-2000. Reservados todos los derechos.
Nombre de usuario de Wam: IWAM_MYSERVER
WamUserPass:Aboutnt2001
Aplicaciones IIS definidas:
Nombre, AppIsolated, ID del paquete
w3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}
raíz, 2,
IISHayuda, 2,
IISAdmin, 2,
IISSmuestras, 2,
MSADC, 2,
RAÍZ, 2,
IISAdmin, 2,
IISHayuda, 2,
raíz, 2,
raíz, 2,
Solicitudes fuera de proceso definidas:
Contar: 1
{3D14228D-FBE1-11d0-995D-00C04FD919C1}
Actualización de aplicaciones:
Nombre: Aplicaciones agrupadas fuera de proceso de IIS Clave: {3D14228D-FBE1-11D0-995D-00C04FD919C1}
De la ejecución del script anterior se puede ver que usar el script synciwam.vbs es más completo y más rápido que usar los 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 en "Actualización de aplicaciones" El sistema informará un error 80110414, es decir, "No se puede encontrar la aplicación {3D14228D-FBE1-11D0-995D-00C04FD919C1}".
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 correctamente y su programa ASP puede ejecutarse nuevamente.