proxy_cache_key с указанием $cookie_csplthash для кеширования с учетом авторизации.
Насчет Etag уже не скажу. Сам nginx etag поддерживает, а в кеше хранит заголовки, отданные backend'ом.
Вообще, у nginx есть параметры $sent_http_HEADER. Может их в ключ кеша внести…