> Hello, > > this is our business case: > - we have an object store where we keep video and audio files, each file > identified by a technical key > - we can access this object store with the S3 protocol via http (example: > http://internal-object-store.de/bucket/key) > - we want to put a reverse proxy in front of the S3 gateway to deliver the > files and map user friendly urls to the technical keys (example: > http://videoserver.de/myNewVideo.mp4 -> > http://internal-object-store.de/bucket/key) > - the mappings must be in a database because there are new mappings every > hour for new files, and we delete the mappings for files that are no longer > publicly available > > From the documentation of mod_rewrite I found that we could achieve this > with a dbd RewriteMap (starting with httpd 2.4). I found very few > discussions about the dbd RewriteMap via Google but at last I got a basic > working example. > > <VirtualHost *:80> > ServerName myserver.de > > DBDriver mysql > DBDParams "host=my-db-host.de,port=3306,user=user,pass=pw,dbname=name" > DBDPersist On > DBDPrepareSQL "select S3_PATH from MAPPINGS where URL = %s" mappath > > RewriteEngine On > RewriteMap avfile "dbd:select S3_PATH from MAPPINGS where URL = %s" > RewriteRule ^/s3(.*) http://internal-object-store.de${avfile:$1} [P] > > </VirtualHost> > > I was not able to use the label "mappath" of the prepared statement as a > reference in the RewriteMap directive. > for example: > RewriteMap avfile dbd:mappath > did not work. > > Here are my questions: > Can the prepared statement be used in the RewriteMap? (And how?) > Has anybody experience with the dbd RewriteMap in production? > Are there any known pitfalls? > Would it be advisable to use a different approach. For example with > mod_lua? > > Thank you and best regards, > Julian >
-- Viele Grüße, Julian Sareyka