Hi-

Terry Jeske schrieb:
Hello,

Still having an on going problem with pages showing up as blank. My
client is getting quite peeved.  I have notice that it may be due do
Just spent some days staring at blank pages as well, so I know the feeling... :)
As it seems the blank pages are always caused by the magnolia cache. So just 
switching off caching on the public instance is a quick workaround until the 
real problem is fixed.
A slow website might be better than no website at all.

I haven't looked through all of the caching code in magnolia, but here is a 
bird's eye perspective of how it works:

- if a page is requested magnolia checks if it is in the cache, if so it serves 
the file from the cache (which is the folder named cache in your magnolia 
webapp)
- if not the request is processed and returned normally and the requested URL 
is passed on to a separate cache handler thread
- the cache handler thread checks if the request is chachable and if it is, 
opens a new HTTP connection and streams the result into a file in the cache 
(actually 2 requests are issued if the request may be stored compressed)

It seems that the cache files get generated even if the request of the cache 
thread fails, thus a 0 byte file gets stored and served to the clients on 
subsequent requests.

navigating while under SSL.  When a user navigates to an secure page, I
put them under https, and they are left under https to secure the
jsession info. It appears that after changing to https, and navigating
around, that I eventually get the blank page issue. It seems to
correspond with the error in the mag log (see below). Right now I am just using a self-signed cert for dev purposes.

Which is exactly why you get the errors listed below.
Java's https handler is quite picky about the chain of trust of certificates. 
It fails on self signed certificates and won't work at all with invalid (e.g 
expired) certs.
What you can do to get it working in your case is add your self signed server 
certificate to the trust store of the JVM running your app. You do this by 
using the keytool [1] command line application that comes with Java to import 
the public key of your website.
I tend to forget the steps needed to do this, but you should be able to find 
enough documentation on this by googling.


ERROR  info.magnolia.cms.core.CacheHandler 01.10.2005 22:27:38 -- Failed
to stream [/news/PR/PR04.html] due to a
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)

ON a side note, you might want to make the content you are caching available by http, at least for the tomcat running magnolia. This way you could set server/cache/level1/domain node in your config to a http URL, circumventing SSL for cache generation.
-markus

[1] http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html


----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------

Reply via email to