[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: https y caché en server web SOLUCIONADO



Me respondo a mi mismo esperando que le sirva a alguien. Al final lo que he
hecho es dejar en el php.ini la opción nocache y poner en el fichero
file.php que es el que sirve los ficheros las siguientes cabeceras:

header('Pragma: private');
header('Cache-control: private, must-revalidate');

Con esto funciona de lujo!!! Y puedo descargar los ficheros con internet
explorer por https y los usuarios no se me vuelven locos!!

Elvis

-----Mensaje original-----
De: Elvis Aaron Presley [mailto:elvisa@terra.es] 
Enviado el: miércoles, 28 de marzo de 2007 10:40
Para: Lista Debian
Asunto: https y caché en server web


Hola a todos, tengo un problemilla con mi Debian y me gustaría saber si a
alguien ya le ocurrió antes... No se si alguien me va a morder por poner
esto en la lista ya que es un problema de configuración del php en un
servidor web apache2... Y aunque todo lo tengo bajo debian ya sabemos como
son algunas personas de la lista. Les pido perdón de antemano a aquellos que
les ofenda el mensaje.

Tengo una web con apache2 y php5 funcionando perfectamente por http, y un
día monté openssl. Puse un certificado creado y todo eso... Ahora ya está
disponible la versión https de la web, el problema es que cuando entro por
https, al intentar descargar un fichero desde mi web con una URL del tipo
https://mi.dominio/file.php?idfichero=23212 me da un mensaje de que no
encuentra el fichero y que no se puede descargar, pero este problema solo
ocurre cuando entro por https y con el navegador internet explorer... Con
mozilla firefox funciona bien.

Bien, he googleado mucho y ya he dado con el tema. La nota de Microsoft
http://support.microsoft.com/default.aspx?scid=kb;en-us;316431 lo explica
claramente. Se trata de un problema del caché. Al tener en mi php.ini la
opción session.cache_limiter = nocache el internet explorer cuando accede
por https a intentar descargar un fichero, al no poderlo cachear primero no
lo puede descargar.

Bueno, con esto espero haber ayudado a alguna gente... Pero ahora viene el
problema...

Sabiendo que es un tema de caché, he jugado con las opciones
session.cache_limiter = private y con session.cache_limiter = public . Con
estas opciones ya todo el mundo podía descargar los ficheros de mi web por
https usara el navegador que usara, el problema es que al haber caché ahora,
pues la web "engaña" a los usuarios. Es decir, la web tiene formularios con
datos que actualizan registros de la bbdd y con estas opciones de caché
habilitadas los usuarios empezaron a experimentar problemas ya que
visualizaban los registros de la caché y se piensan que la web no les ha
guardado los cambios aunque en realidad sí lo ha hecho, simplemente les está
mostrando la vista del registro que tienen en caché de antes de
actualizarlo. Un simple control+F5 lo soluciona, pero mi pregunta es: 

¿Alguien ha tenido este problema antes? ¿Qué opciones de la caché de su
servidor web son las óptimas para poder descargar ficheros por https y que
los usuarios no se vuelvan locos?

Gracias y un saludo.

Elvis.



Reply to: