Compartir a través de


Error al examinar el sitio web a través de la dirección URL del dominio del servicio en la nube predeterminada: Error HTTP 503. El servicio no está disponible

En este artículo se proporciona información sobre cómo solucionar problemas en los que se produce un error "Error HTTP 503. El servicio no está disponible." al acceder a la aplicación de servicio en la nube.

Versión original del producto: servicio API Management
Número de KB original: 4464854

Nota:

Consulte el artículo sobre la serie de solución de problemas del servicio en la nube de Azure, este es el quinto escenario del laboratorio. Asegúrese de que ha seguido las instrucciones de configuración del laboratorio para la aplicación Super Convertor según esto, para volver a crear el problema.

Síntomas

Recibe la respuesta del error HTTP 503 al examinar la dirección URL de la aplicación de servicio en la nube (http://cloudservicelabs.cloudapp.net/), aunque el rol web "SuperConvertor" está en estado de ejecución. Reiniciar o restablecer la instancia de rol no está resolviendo el problema.

Servicio no disponible

HTTP Error 503. El servicio no está disponible.

Pasos para solucionar problemas

Cuando se producen errores de 50 veces en la aplicación, normalmente significa que algo se interrumpe en el lado servidor. 503 Service Unavailable el código de respuesta de error del servidor indica que el servidor no está listo para controlar la solicitud. Debe pensar en por qué de repente una aplicación de servicio en la nube recién implementada se inició repentinamente al iniciar este error. ¿Se bloquea la aplicación? ¿La solicitud llega al servidor IIS? ¿El servidor está bajo carga alta?

En primer lugar, compruebe el servidor IIS local. Puede conectarse a la instancia de rol web mediante RDP y examinar la aplicación localmente. Antes de examinar el sitio localmente, compruebe los registros del Visor de eventos de aplicación y sistema para negar cualquier posibilidad de bloqueo de ApplicationPool de IIS o cualquier otra excepción relacionada con la aplicación.

A continuación, compruebe los registros de IIS presentes en C:\Resources\directory\{Deployment ID}.SuperConvertor.DiagnosticStore\LogFiles\Web para comprobar si puede obtener más información sobre el error HTTP 503, como el código de subestado, el tiempo necesario para ejecutar la solicitud, etc.

Si no hay registros generados, significa que la solicitud no está llegando a IIS en absoluto. Según la arquitectura de IIS, HTTP.sys escucha las solicitudes HTTP de la red, pasa las solicitudes a IIS para su procesamiento y, a continuación, devuelve respuestas procesadas a los exploradores cliente. De forma predeterminada, IIS proporciona HTTP.sys como agente de escucha de protocolo que escucha las solicitudes HTTP y HTTPS y cualquier error en HTTP.sys nivel se registra en este directorio: D:\Windows\System32\LogFiles\HTTPERR. Veamos lo que podemos encontrar en el registro httperr:

#Software: Microsoft HTTP API 2.0
#Version: 1.0
#Date: 2018-08-13 03:12:38
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri streamid sc-status s-siteid s-reason s-queuename
2018-08-13 03:25:22 293.217.138.127 12052 10.1.2.5 80 HTTP/1.1 GET / - 503 - N/A -
2018-08-13 03:25:22 293.217.138.127 20463 10.1.2.5 80 HTTP/1.1 GET /favicon.ico - 503 - N/A -

Si ve el registro anterior, HTTP 503 se inicia desde HTTP.sys nivel y la solicitud de cliente se rechaza desde allí sin llegar al IIS. Ahora vamos a examinar el sitio localmente desde IIS y ver lo que sucede: podría recibir un error: esta página no se puede mostrar. Una cosa que puede observar es que el sitio web de IIS tenía un enlace como el siguiente, lo que significa que para acceder a este sitio web en particular necesita acceder a través del nombre de dominio personalizado (www.cloudservicelabs.com)

Dirección IP Port Encabezado de host
10.1.2.5 80 www.cloudservicelabs.com

Todos los clientes acceden a los sitios web mediante enlaces. Un enlace típico para Websites está en forma de IP:Port:HostHeader. Es un mecanismo que indica al servidor cómo se puede acceder a este sitio. La siguiente pregunta que vendrá a su mente es que desde dónde procede este nombre de host personalizado.

ServiceDefinition.csdef es el lugar donde puede configurar los enlaces para el rol web y esto es lo que puede ver para la aplicación:

<WebRole name="SuperConvertor" vmsize="Standard_D1_v2">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="www.cloudservicelabs.com"/></Bindings>
</Site>
</Sites>

En el escenario real, para acceder a la aplicación de servicio en la nube a través de un nombre de host personalizado, debe tener un DNS configurado para este encabezado de host correspondiente a la VIP del servicio en la nube. Por ahora, puede eliminar el atributo hostHeader del elemento Binding y volver a implementar la solución de servicio en la nube para resolver el problema.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.