2011-03-18 27 views
5

Tengo que portar mi aplicación web desde apache a IIS 7 y tuve problemas con la configuración correcta.Reescribir las reglas para los encabezados de respuesta en IIS 7 (reemplazando la ruta de la cookie)

En la configuración de Apache, que configuran un poco de materia mod reescritura (con el fin de comunicarse con un mq activa Apache) así:

#Reverse-Proxy to ActiveMQ AJAX-Interface 
ProxyPass  /foo/bar/amq http://localhost:8161/foo/amq/ 
ProxyPassReverse /foo/bar/amq http://localhost:8161/foo/amq/ 
ProxyPassReverseCookiePath /foo/

he tratado de configurar el IIS 7 mediante el uso de ApplicationRequestRouting. La regla de reescritura en la solicitud para reemplazar la barra/foo/a la dirección localhost ya funciona, pero tengo algunos problemas para definir una regla para configurar la ruta de cookies correcta en la respuesta.

Ya he encontrado un artículo sobre la manipulación de respuestas here. Para mí, parece que con II7 solo puedo manipular el cuerpo HTTP de la respuesta.

¿Cómo puedo manipular el encabezado de respuesta de una manera para editar la ruta de la cookie?

La ruta de la cookie en el encabezado de respuesta se parece a esto:

Set-Cookie: JSESSIONID=1lu7hn253csbh11jax27k2i072;Path=/foo 

La ruta debe ser editado para "Path = /".

Gracias por su tiempo y su ayuda Rolf

Respuesta

8

Esto debe hacerlo

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <outboundRules> 
       <remove name="Update Cookie Path" /> 
       <rule name="Update Cookie Path"> 
        <match serverVariable="RESPONSE_Set_Cookie" pattern="^(.*; path=/)foo$" /> 
        <conditions /> 
        <action type="Rewrite" value="{R:1}" /> 
       </rule> 
      </outboundRules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

comprueban los más detallada reference.

+0

¡Muchas gracias! Funcionó casi sin modificación, acabas de guardar mi semana;) pero REPONSE_SET_COOKIE es en realidad RESPONSE_Set_Cookie. Saludos - Rolf –

Cuestiones relacionadas