Este parche añade al módulo proxy de nginx la posibilidad de autenticarse contra Amazon S3. Útil si quieres proteger parte de los ficheros de tu bucket, en ese caso se puede usar este parche junto con el Secure Download para que el usuario final no pueda descargar los archivos directamente desde S3, si no sólo a través de una URL de descarga segura con tiempo de expiración.
Para instalarlo sólo hay que parchear el código y compilar con la opción –with-http_proxy_s3_auth, y luego configurar en el location que accede a S3 justo debajo de la opción proxy_pass las siguientes opciones:
proxy_s3_auth on|off; Activa/desactiva la autenticación con S3.
proxy_s3_secure_download on|off;
Activa/desactiva la integración con el parche Secure Download (elimina el md5/timestamp de las URL al hacer el cálculo para la autenticación)
proxy_s3_bucket BUCKET;
El nombre del bucket en S3.
proxy_s3_user S3_USER_ID;
La AWS Access Key ID del bucket.
proxy_s3_pass S3_PASSWORD;
La AWS SecretAccess Key del bucket.
La última versión se puede descargar de aquí: nginx_proxy_s3-0.2.diff.bz2
PD: en la lista de correo de nginx me han sugerido que sería mejor hacer un módulo independiente que calcule la autenticación, y luego introducirla por configuración con proxy_set_header, en lugar de añadir más carga al módulo proxy. Estoy de acuerdo, pero ahora mismo mis conocimientos del código de nginx son limitados y esta vía era más rápida. Si tengo tiempo tal vez lo intente rehacer de esa forma, pero mientras tanto este parche funciona. :-)