¿Por qué se muestra aquí FTTP 500?

Error interno HTTP 500

El error interno del servidor HTTP 500 en IIS5 es uno de los errores comunes que encontramos. Su principal error es que los programas ASP no pueden navegar pero las páginas web estáticas HTM no se ven afectadas. 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 se ejecutaba normalmente, aparecerá el siguiente error:

No se puede mostrar la página.

Hay un problema con la página web a la que estás intentando acceder, por lo que no se puede mostrar.

Pruebe lo siguiente:

Abra /productname.asp.

Análisis de causa

Un análisis exhaustivo de los síntomas de error anteriores muestra que la razón principal es que la contraseña de la cuenta IWAM (es decir, la cuenta IWAM_MYSERVER en mi computadora) es incorrecta , lo que genera un error interno HTTP 500.

Antes de analizar en detalle las causas de los errores internos de HTTP500, introduzcamos brevemente la cuenta IWAM: La cuenta IWAM es una cuenta integrada creada automáticamente por el sistema al instalar IIS5. Se utiliza principalmente para iniciar Internet. Servicios de información para solicitudes fuera de proceso. El nombre de la cuenta IWAM variará según el nombre NETBIOS de cada computadora. El formato general es IWAM_machine y consta del prefijo "IWAM", la línea de conexión "_" y el nombre NETBIOS del ordenador. 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 creada la cuenta IWAM, será utilizada por Active Directory, metabase IIS y aplicaciones COM+. 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 las tres partes. Según el sentido común, podemos dejar que el sistema operativo se encargue del trabajo de forma segura sin preocuparnos de cometer errores. Pero no sé si es un ERROR u otras razones. La sincronización de contraseñas del sistema a veces falla, lo que genera contraseñas inconsistentes para las tres cuentas IWAM. Cuando una aplicación IIS o COM+ utiliza una contraseña IWAM incorrecta para iniciar sesión en el sistema e iniciar una aplicación agrupada IIS fuera de proceso, el sistema rechazará la solicitud debido a la contraseña incorrecta, lo que resultará en la imposibilidad de iniciar IIS. -Aplicación agrupada de proceso. Es decir, no podemos ejecutar el servidor en el evento de error ID10004 {3d 1428d-FBE 1-10c 04 FD 919c 1}. (Aquí { 3d 1428d-FBE 1-11d 0-995d-00 c 04 FD 919c 1 } es la clave de la aplicación agrupada fuera de proceso de IIS) y no se puede pasar a la aplicación IIS5.

Tres. Solución

El análisis anterior es para la versión del servidor win2000 y no hay una visualización de usuario correspondiente en la versión doméstica de winxp. (El usuario se puede encontrar en IIS, pero la configuración no se puede completar porque el administrador de winxp solo aparecerá en modo seguro, así que simplemente cambie la cuenta IWAM a continuación a su nombre de usuario de inicio de sesión de winxp).

Después de saber La causa del error interno HTTP 500, la solución es relativamente simple, que consiste en sincronizar manualmente las contraseñas de las cuentas IWAM en Active Directory, la base de datos de metadatos IIS y las aplicaciones COM+.

La operación específica se divide en tres pasos. Debe iniciar sesión en la computadora como administrador y proporcionar permisos operativos suficientes (la cuenta IWAM es IWAM_MYSERVER como ejemplo).

(1) Cambie la contraseña de la cuenta del servidor IWAM_my 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 la sincronización de contraseña en los siguientes dos pasos, debemos configurar la contraseña de la cuenta IWAM en un valor que conocemos.

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_My Server" a la derecha, haga clic derecho, seleccione "Restablecer contraseña (t)..." y haga clic en el cuadro opuesto al reinicio emergente. contraseña Establezca una nueva contraseña para IWAM_myserver. Aquí lo configuramos en "aproximadamente 2001" (sin comillas) y esperamos a que la contraseña se cambie correctamente después de la confirmación.

En winxp, haga clic derecho en el sitio web predeterminado del usuario, ingrese a la pestaña de seguridad del directorio, haga clic en el botón editar de acceso anónimo y control de autenticación, y aparecerá una nueva ventana de método anónimo. Haga clic en el botón Editar en Acceso anónimo, desmarque la casilla frente a Permitir que IIS controle la contraseña, seleccione Examinar e ingrese la contraseña de su elección.

Del mismo modo, todas las siguientes cuentas IWAM_MyServer funcionarán con su nombre de usuario.

(2) Sincronice la contraseña de la cuenta del servidor IWAM_my en la base de datos de metadatos de IIS.

Quizás porque este cambio es demasiado sensible e importante, Microsoft no proporciona una interfaz de usuario clara para que cambiemos la contraseña de la cuenta IWAM_MYSERVER en la base de datos de metadatos de IIS. Solo proporciona un script de administración de IIS5 adsutil. vbs, ubicado en el subdirectorio C:\inetpub\adminscripts (debido a diferentes configuraciones al instalar IIS5, la ubicación puede cambiar).

El script adsutil.vbs es potente, tiene muchos parámetros y es complicado de usar. A continuación se explica cómo modificar la contraseña de la cuenta IWAM_MyServer usando este script:

adsutil set w3svc/WAMUserPass contraseña

El parámetro "contraseña" es la nueva contraseña para la cuenta IWAM que se configurará. Entonces, nuestro comando para cambiar la contraseña de la cuenta IWAM_myserver en la metabase de IIS a "about 2001" es:

c:\Inetpub\AdminScripts>adsutil set w3svc/WAMUserPass "about nt 2001 "

Después de que la modificación sea exitosa, el sistema le indicará lo siguiente:

WAMUserPass:(String)" about nt 2001 "

(3) se usa para sincronizar IWAM_my- de la aplicación COM+. contraseña del servidor.

Hay dos formas de sincronizar la contraseña de IWAM_MYSERVER utilizada por las aplicaciones COM+: una es usar el complemento MMC de Servicios de componentes y la otra es usar el script de sincronización de cuentas IWAM synciwam.vbs

1, utilice el complemento MMC de Servicios 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 el complemento Servicios de componentes.

(2) Busque "Servicios de componentes"->"Equipo"->"Mi PC"->"Aplicación COM+"->"Aplicación agrupada fuera de proceso", haga clic con el botón derecho en "Fuera de proceso". Aplicación" del grupo de procesos"->"Propiedades"

(3) Cambie a la pestaña Banderas del cuadro de diálogo de propiedades de la aplicación agrupada fuera del proceso. "Este usuario" será seleccionado en la opción "Esta aplicación se ejecuta en" con el nombre de usuario "IWAM_MyServer". Estos son los predeterminados y no es necesario cambiarlos. Ingrese la contraseña correcta "about 2001" en los cuadros de texto "Contraseña" y "Confirmar contraseña" a continuación y confirme para salir.

(4) Si el sistema indica "Esta aplicación fue creada por varios productos externos. ¿Está seguro de que desea obtener soporte de estos productos?". ¿Simplemente confirme cuándo?

(5) Si configuramos la "Protección de aplicaciones" de otras páginas web en "Alta (Independiente)" en IIS, necesitamos sincronizar la contraseña de la cuenta IWAM de la aplicación COM+ utilizada por la web. página. Repita los pasos (1)-(4) para sincronizar las contraseñas de otras cuentas IWAM correspondientes utilizadas fuera del proceso.

2. Utilice el script de sincronización de cuentas IWAM synciwam.vbs

De hecho, Microsoft ha descubierto que hay un problema con la sincronización de contraseñas de la cuenta IWAM, por lo que ha escrito el script. Contraseña de la cuenta IWAM en el script de administración de IIS5 El script sincronizado syncIWAM.vbs se encuentra en el subdirectorio de c:\inetpub\Adminsscripts (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 para mostrar el script en detalle Durante todo el proceso de ejecución (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\sync iwam . VBS-v

Microsoft (R) Windows Script Host versión 5.6

Copyright (c) Microsoft Corporation 1996-2000. Todos los derechos reservados

IWAM Mi servidor

WamUserPass:Aboutnt2001

Aplicación IIS definida:

Nombre, aplicación aislada, ID del paquete

>

w3svc, 0, { 3d 14228 c-FBE 1-11d 0-995d-00 c 04 FD 919c 1 }

Raíz, 2,

IISHayuda, 2,

IISAdmin, 2,

Muestra de IIS, 2,

MSADC, 2,

Raíz, 2,

IISAdmin, 2,

IISHelp, 2,

Raíz, 2,

Raíz, 2,

Definido fuera de -procesar aplicación:

Recuento: 1

{ 3d 14228d-FBE 1-11d 0-995d-00c 04 FD 919c 1 }

Actualizar aplicación:

Nombre: Clave de aplicación agrupada fuera de proceso de IIS: { 3d 14228d-FBE 1-11d 0-995d-00c 04 FD 919c 1 }

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_My Server" de la base de datos de metadatos de IIS y extrae la contraseña correspondiente "aproximadamente 2001", luego encuentra todas las aplicaciones IIS definidas y las aplicaciones fuera de proceso, y sincroniza el IWAM de cada una de ellas fuera de proceso. procesar la solicitud una por una.

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 metadatos de IIS sea coherente con la contraseña de iwam en Active Directory. Debido a que el script syncIWAM.vbs obtiene la contraseña de la cuenta IWAM 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. Al realizar una operación de sincronización en el sistema "Actualizar aplicación", se informará el error 80110414, es decir, "Aplicación no encontrada {3d 1428d-FBE 1-1d 0-995d-".

Bien, hasta ahora, las contraseñas de la cuenta IWAM, la base de datos de metadatos IIS y la aplicación COM+ en Active Directory se han sincronizado exitosamente y su programa ASP puede ejecutarse nuevamente.