I was not able to find a simple way to use wp-super-cache with lighttpd, some were using 100 lines lua script and the others were unreliable at best. After an hour of fiddling, I came with the following configuration.
What it does:
It serves a cache file only if the user is not logged in.
If no cache exists, the 404 handler loads index.php which will either find the correct page (and generate missing cache), or return a true 404.
It does not mess with /wp-admin or /wp-content or any file that exists outside the cache.
In green are the values that you will have to edit