• [Solución] Descarga de archivos con IE sobre HTTPS

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #5137  by jorgeoa
 
Hola a todos.

Hace tiempo una compañera de trabajo comentó un problema que estabamos teniendo con la descarga de archivos en Internet Explorer cuando se accede a OpenKM sobre HTTPS. El problema es que parece que el navegador "pierde" la referencia al archivo y da error de descarga.
El hilo original es este: http://forum.openkm.com/viewtopic.php?f=15&t=2100#p2160

El problema quedó sin resolver y parecía que podía ser una cuestión de configuración de JBoss

Pues bien, después de unas pruebas al fin hemos dado con el problema y su solución. El error está en el código de la función sendFile de la clase OKMDownloadServlet, en la que se envía la cabecera "Pragma: no-cache".
Esta cabecera no la debería enviar nunca el servidor, ya que su propósito es que el navegador indique al servidor web (y todos los nodos intermedios) que quiere la última versión del recurso, no una cacheada. Esta cabecera da problemas con IE cuando la envía el servidor. Se puede ver algo más de información al respecto en esta página de la Wikipedia: http://en.wikipedia.org/wiki/List_of_HTTP_headers

Resumiendo. La solución es quitar esa cabecera de la función sendFile.

Nosotros ya lo hemos implementado en nuestro entorno y funciona perfectamente. Creo que sería muy interesante que se aplicara este cambio en próximas versiones de OpenKM.

Saludos.
 #5150  by jllort
 
Lo vamos a mirar. Tiene narices que el tema este igual lo pusimos por el IE 5 ... con el IE todo es posible, yo como siempre intentando hacer escuela os recomiendo que os paseis a firefox o chrome.

Gracias por el aporte haremos un par de pruebas y si soluciona lo que decis lo incorporaremos en la versión 5.X., Si teneis mas cosas de este estilo os aconsejo que utiliceis http://issues.openkm.com/ ( alli podeis reportar incidencias nuevas ).
 #5776  by pavila
 
Acabo de subir a la rama de desarrollo una modificación de la clase OKMDownloadServlet que elimina dicha cabecera. Por tanto será incluida en la próxima release de OpenKM, o sea, la 5.
 #11545  by jose.carrion
 
Hola a todos,
estoy corriendo OpenKM 5.1.5 en un Servidor Virtual corriendo CentOS 5 y sirviendo la aplicacion en https.
Los clientes que usan Internet Explorer (en este caso versión 7) no pueden descargar ni previsualizar
archivos de ningún tipo. He buscado en el forum y encontré este hilo.

El server.log no arroja ningún error al respecto, por lo que supongo que el problema es de MS IE.

Se implementó la solución comentada en este hilo en las versiones 5 en adelante?
Soy implantador y no tengo conocimientos suficientes de programación como para aportar ayuda al respecto.

¿He de reportar el problema en http://issues.openkm.com ?

Saludos,
Jose Carrión
 #11559  by jllort
 
Esta solución obviamente de la 5.x en adelante la siguen manteniendo. Esto te pasa con todos los IE de tu red o solo con algunas versiones, puedes probar con un IE8 ... ojo con lo ad bloquers y programas parecidos ( mejor si haces algun test con una máquina limpia ).
 #11561  by pavila
 
Me puedes dar más detalles de la configuración HTTPS? Está configurada por Aapache o por JBoss? Necesitaría unos datos de configuración lo más cercano a tu entorno para poder reproducir el error.

Un saludo.
 #11572  by jose.carrion
 
Hola de nuevo,
las pruebas hechas con el IE7 fueron en un equipo limpio, una máquina virtual (Vbox) corriendo xp recién instalado.

Instalé IE8 en la VM y los resultados fueron los mismos, no se puede ni descargar ni previsualizar.
Con FireFox en el mismo equipo no da ningún tipo de problema.

Habilité Https en JBoss editando el archivo ../server/default/deploy/jboss-web.deployer/server.xml
Descomenté el conector https y añadí el keystorepass. Habiendo generado una key previamente, claro.
Code: Select all
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
                keystorePass="XxXxXxXx"
               clientAuth="false" sslProtocol="TLS" />
Un saludo.
Jose Carrión
 #11578  by jllort
 
OK, es que nosotros normalmente por temas de seguridad el jboss no lo dejamos expuesto y lo pasamos a través de un proxy de apache, yo te aconsejo esta configuración, por que el jboss tiene un par de bugs, en especial con el puerto 8080 que es muy mala idea exponerlo a internet.

De todas formas la solución a este post la comentaré en la sección de faqs por si alquien se encuentra con el mismo problema. Lo puedes ver aquí http://wiki.openkm.com/index.php/Printa ... umentation
 #11588  by jose.carrion
 
Hola y gracias por la respuesta,
pero lamentablemente los que no tenemos soporte comercial, no podemos acceder a ciertas
secciones de la documentación, como por ejemplo securing Jboss. Consultaré en la web del proyecto Jboss.

Si encuentro una solución factible, ¿os importa que la postee en el forum?
No quisiera postear contenidos que pudieran perjudicar en manera alguna.

Saludos

Jose Carrión
 #11656  by pavila
 
La opción de configurar Apache para que haga de puente con la instalación de JBoss es la más segura. Puede que la configuración de SSL en Apache no sea tan problemática para la familia IE como con JBoss.
 #11705  by jose.carrion
 
Hola de nuevo y perdonad la tardanza en responder.

Siguiendo vuestro consejo, he puesto Apache como frontend de Jboss a través de https y el módulo mod_proxy_ajp,
de manera que ya no tengo el Jboss tan "expuesto" en internet. Gracias en este sentido.

Antes de hacer los cambios en el servidor de producción, lo probé todo en mi máquina en casa.
Me costó un poco pero terminó funcionando y además ¡Violá!, me deja hacer las descargas desde una máquina virtual con XP e IE8 !!

PERO cuando configuro el servidor de producción con Apache como proxy tengo el mismo problema inicial.
Sigo sin poder descargar archivos desde OpenKM desde esa misma máquina virtual con XP.

¿Extraño verdad?

Saludos

Jose Carrión
 #11730  by jose.carrion
 
Perdonad la confusión, pero eso de que en mi entorno de pruebas me deja hacer las descargas No es Cierto.
Solo me deja hacer descargas de archivos de texto ya sea un txt, un xml, etc..

Esto ocurre tanto en el entorno de pruebas como en el de producción.

Más extraño aún ¿verdad?

Saludos
 #11732  by jllort
 
Algo que tienes configurado en el IE o alguna aplicación que esta danto la lata. A ver que ficheros no te deja descargar ? Tienes algun antivirus, ad block o parecido ?

De todas formas si no eres un fan del IE te recomiendo cambiar de navegador, la vida sin IE es mas fácil y mejor ( menos virus, mas rápido; vamos que cambiar a lo que sea son todo ventajas y ningún inconveniente. Nosotros siempre recomendamos utilizar firefox, chrome o cualquier otra cosa que no sea el IE, es lento, lleno de bugs consume recursos como un campeón ... pero bueno ... a sufrirlo que son dos días ).
 #11747  by jose.carrion
 
Mmmm,
como a muchos otros implementadores, escapa a mi control el software que los clientes de mi cliente usan.
Desde mi humilde posición intento sentar doctrina a favor de las alternativas a IE.

En mi entorno de pruebas no tengo ni antivirus ni bloqueador de popups, ni ads.

He hecho ya muchas pruebas y con OpenKM versiones 5.1.5 y 5.1.7 no es posible hacer descargas bajo https
desde clientes con IE 7 ó IE 8 dentro de un entorno con Apache como frontend o directamente usando el
connector https del jboss 4.2.3.

Por el momento, desisto.
En unos días, trataré de retomar el tema en busca de posibles soluciones.

Saludos

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.