Skip to main content

Django app to easy configuration of multiple X-File-Accel locations

Project description

This app allowes you to protect static files served by nginx with authorization of your django project

Protecting files

This example will show how to protect 2 file positions from downloading:

  • {static_url}/files/fbi
  • {static_url}/files/cia

In this example we will assume that static url is /static/

Steps to protect files:

  1. in nginx config disable access to desired locations:

    location /static/files/fbi {
        deny all;
    }
    location /static/files/cia {
        deny all;
    }
    
  2. Add internal path to serve this files. We will add “root” directory to serve both locations with one configuration option:

    # needed for x-file-accell
    location /internal/files/ {
        internal;
        alias $project_base/static/files/;
    }
    
  3. Configure x_file_accel_redirects app:

    1. Set settings.X_FILE_ACCEL = True.

    2. add "x_file_accel_redirects" to settings.INSTALLED_APPS.

    3. Add app to your root url config, e.g.:

      urlpatterns += patterns('',
          (r'^protected/', include('x_file_accel_redirects.urls')),
      )
      
    4. In django admin create new instance of x_file_accel_redirects.AccelRedirect with next values:

      • Description: anything meaningful.
      • URL prefix: any latin letters without slashes, e.g. “downloads”.
      • Login required: True.
      • Internal path: “/internal/files/”” (as specified in nginx config).
      • serve document root: optionaly you can specify path to directory with needed files to serve them with django staticfiles app when settings.X_FILE_ACCEL == False.

When everything is configured and restarted you will be able to get file $project_base/static/files/fbi/secrets/ufo.txt by next url:

/protected/downloads/fbi/secrets/ufo.txt (/downloads/ if from “prefix” field of AccelRedirect)

Project details


Release history Release notifications

This version
History Node

0.0.2

History Node

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-x_file_accel_redirects-0.0.2.linux-x86_64.tar.gz (9.1 kB) Copy SHA256 hash SHA256 Dumb Binary any Apr 2, 2014
django-x_file_accel_redirects-0.0.2.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None Apr 2, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page