django应用程序可轻松配置多个x-file-accel位置
django-x_file_accel_redirects的Python项目详细描述
这个应用程序允许你保护nginx授权提供的静态文件。 你的django项目
保护文件
此示例将演示如何保护两个文件位置不被下载:
- {静态url}/files/fbi
- {静态url}/files/cia
在这个例子中,我们假设静态url是/static/
保护文件的步骤:
在nginx config中,禁用对所需位置的访问:
location/static/files/fbi{denyall;}location/static/files/cia{denyall;}
添加内部路径以提供此文件。 我们将添加“根”目录,通过一个配置选项为两个位置提供服务:
# needed for x-file-accell location/internal/files/{internal;alias$project_base/static/files/;}
配置x_file_accel_重定向应用程序:
设置settings.X_FILE_ACCEL = True。
将"x_file_accel_redirects"添加到settings.INSTALLED_APPS。
将应用程序添加到根url配置中,例如:
urlpatterns+=patterns('',(r'^protected/',include('x_file_accel_redirects.urls')),)
在django admin中,使用下一个值创建x_file_accel_redirects.accelredirect的新实例:
- 描述:任何有意义的东西。
- url前缀:任何没有斜线的拉丁字母,例如“downloads”。
- 需要登录:true。
- 内部路径:“/internal/files/”(在nginx config中指定)。
- 服务文档根目录:可选地,您可以指定包含所需文件的目录的路径 在settings.X_FILE_ACCEL == False时为他们提供django staticfiles应用程序。
配置并重新启动所有内容后,您将能够获取文件 $project_base/static/files/fbi/secrets/ufo.txt按下一个URL:
/protected/downloads/fbi/secrets/ufo.txt(/downloads/if from“prefix”字段的AccelRedirect)