django应用程序可轻松配置多个x-file-accel位置

django-x_file_accel_redirects的Python项目详细描述


这个应用程序允许你保护nginx授权提供的静态文件。 你的django项目

保护文件

此示例将演示如何保护两个文件位置不被下载:

  • {静态url}/files/fbi
  • {静态url}/files/cia

在这个例子中,我们假设静态url是/static/

保护文件的步骤:

  1. 在nginx config中,禁用对所需位置的访问:

    location/static/files/fbi{denyall;}location/static/files/cia{denyall;}
  2. 添加内部路径以提供此文件。 我们将添加“根”目录,通过一个配置选项为两个位置提供服务:

    # needed for x-file-accell
    location/internal/files/{internal;alias$project_base/static/files/;}
  3. 配置x_file_accel_重定向应用程序:

    1. 设置settings.X_FILE_ACCEL = True

    2. "x_file_accel_redirects"添加到settings.INSTALLED_APPS

    3. 将应用程序添加到根url配置中,例如:

      urlpatterns+=patterns('',(r'^protected/',include('x_file_accel_redirects.urls')),)
    4. 在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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java实际值和参数列表的长度不同   java使用类。要在其中加载文件的getResource()。罐子   java如何扩展ActionBarActivity和ListActivity?   在使用Java的RSA OAEP加密中为标签提供价值的加密   java如何将LinkedHasMap值按正确的顺序转换为ArrayList/Array?   java JAXWS使用特定于实现的API(如CXF)调用Web服务   java安卓文件存储   windows Java控制台应用程序已锁定   java如何知道所有的记录都被插入其中一条记录,而不是在批插入中插入   java如何从javafx中的切换按钮获取文本   泛型为什么流。生成使用非变量,但可选。orElseGet在Java8中使用协方差   从java selenium web驱动程序最大化站点窗口大小   java Android gridview/imageholder动态布局