¿por qué HttpContext.Request.Url y Request.ServerVariables [ “HTTP_HOST”] devolver valores diferentes

StackOverflow https://stackoverflow.com/questions/4419735

Pregunta

Tengo 3 sitios web que se ejecutan desde una piscina de carga equilibrada de servidores. Equilibrador de carga utiliza sesiones pegajosas para asegurar que se mantiene la sesión de grupo inicial.

En la página web, necesito generar una URL específica para el sitio web. De acuerdo con el procedimiento estándar He intentado utilizar HttpContext.Request.Url, pero esto devuelve la URL equivocada. Luego trató de Request.ServerVariables uso [ "HTTP_HOST"] y que devuelve la URL correcta.

¿Alguien tiene alguna idea?

En el sitio A: Request.Url vuelve Url Un Request.ServerVariables [ "HTTP_HOST"] devuelve Url A

En el sitio B:

Request.Url devuelve Url A Request.ServerVariables [ "HTTP_HOST"] devuelve Url B

En el sitio C:

Request.Url devuelve Url A Request.ServerVariables [ "HTTP_HOST"] devuelve Url C

¿Fue útil?

Solución

retorno Request.ServerVariables["HTTP_HOST"] IIS anfitrión, es decir, el nombre de host de su sitio web está configurado para responder a. Que puede o no ser el mismo host que en el cliente de URL ejecutado para llegar a su página. El comportamiento que se observa es totalmente lógico ya que el cliente siempre ejecuta la misma URL, pero el equilibrador de carga de enviarlo a diferentes instancias de IIS.

editar:? En esa nota que estoy confundido en cuanto a por qué es necesario tener "una determinada URL de la página web"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top