Dear Experts, I have a server which functions as follows:
1. Incoming requests are sent to a reverse proxy which inspects the request headers and returns a response to Apache which contains an X-SendFile header containing the path of the file to serve. 2. mod_xsendfile (see https://github.com/nmaier/mod_xsendfile) sends the specified file to the client. This all works fine, except for ETAGs, Vary, and If-None-Match requests. What do I have to do to make this work? Currently, all responses seem to have ETAG: "0". I'd like the ETAG to be based in the normal way on the attributes of the file that mod_xsendfile actually sends. Where is the ETAG added? Is it upstream or downstream of wherever mod_xsendfile sits? Is this something that mod_xsendfile needs to do itself? Its only mention of ETAG is its XSendFileIgnoreEtag option, which tells it to "ignore all ETag headers the original output handler may have set". Changing it doesn't seem to affect the behaviour I am seeing. I guess that I need a "Header add" directive to add a Vary: header to the response, indicating which headers my proxy looks at. Or maybe the proxy should just output a Vary: header itself. Finally, what do I need to do to support If-None-Match requests? At what point is that checked? I need for my proxy to run and determine which file will be served, and then for the ETAG for that file to be determined, and then finally for that to be compared with the tag in the If-None-Match header. Is that possible, or does Apache need to do the If-None-Match check earlier on? Any help would be much appreciated. I know mod_xsendfile is not an official Apache thing but I'm sure many readers will be a little familiar with it, and it is only one 700-line .c file. Thanks, Phil. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org