使用Django Rest Framework,nginx和uwsgi处理PUT请求返回403错误

大卫·琼斯(David Jones)-iPushPull

我正在测试将使用Django REST框架实现的访问控制的Web服务移植到nginx / uwsgi。当我测试PUT请求(由于用户没有该端点的权限)而返回403错误时,有时会在日志中得到如下错误:

2016/02/09 06:42:05 [error] 574#0: *14978766 readv() failed (104: Connection reset by peer) while reading upstream, client: 10.10.10.10, server: test.whatever.com, request: "PUT /api/1.0/domains/name/Quest/page_content/name/Resit/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/ipp_api_uwsgi.soc:", host: "test.whatever.com"

关于这个问题几个问题建议的解决方案是:

  1. 还请确保您在应用程序中使用了请求的发布数据,或者
  2. uwsgi使用--post-buffering命令行选项。

选项1似乎不是正确的方法-DRF的许可模块检查用户是否具有对端点的访问权限,如果没有,则拒绝PUT。帖子数据永远不会被访问,而应该被转储。选项2似乎可以解决问题,但我担心性能以及对其他成功的PUT请求的影响。

选项2是我应该遵循的方法吗?还有其他建议吗?

白血球

post-buffering将会导致uWSGI消耗和缓冲主体请求,所以是的,它会影响性能,例如,如果有人未经许可而发出大量请求。uWSGI将缓冲所有缓冲区,而不仅仅是拒绝。

但是您可以使用适当的中间件在Django应用中处理该问题,该中间件将在/dev/null没有权限执行任何操作的情况下将所有请求主体放入其中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Django Rest Framework中以403错误返回数据?

来自分类Dev

使用Nginx和Django Rest Framework的身份验证问题

来自分类Dev

在Django Rest Framework中测试PUT请求

来自分类Dev

Django REST Framework批处理PUT(更新)

来自分类Dev

Django Rest Framework JWT 400错误请求

来自分类Dev

django rest框架中'PUT'请求Ajax中的禁止403错误

来自分类Dev

jqGrid,POST使用WCF和REST返回错误的请求

来自分类Dev

如何使用Django Rest Framework删除对象

来自分类Dev

使用Django REST Framework的Solr搜索结果

来自分类Dev

使用Django Rest Framework设置iOS Restkit

来自分类Dev

Django REST Framework-CurrentUserDefault使用

来自分类Dev

如何使用Django Rest Framework更新OneToOneField

来自分类Dev

使用Django Rest Framework自动引用嵌套

来自分类Dev

Django Rest Framework,使用多个模型查询

来自分类Dev

使用 django-rest-framework 的密码哈希?

来自分类Dev

在Django Rest Framework中使用PUT更新外键

来自分类Dev

在Django Rest Framework中创建或更新(使用PUT)

来自分类Dev

在Django Rest Framework中使用PUT更新外键

来自分类Dev

使用 Django rest 框架获取请求不返回数据

来自分类Dev

Django REST Framework:使用列表测试POST请求时出错

来自分类Dev

使用请求库将图像上传到Django Rest Framework

来自分类Dev

使用Django REST Framework作为Django的身份验证后端

来自分类Dev

Django Rest Framework使用PrimaryKeyRelatedField返回嵌套对象

来自分类Dev

如何使用Django REST Framework返回生成的文件下载?

来自分类Dev

使用Django REST Framework从多个模型返回结果

来自分类Dev

使用ParseError Django REST Framework返回无效数据

来自分类Dev

Django Rest Framework 使用`permissions.IsAuthenticated` 引发错误

来自分类Dev

结合使用django-rest-framework和APITestCase

来自分类Dev

Django Rest Framework-使用会话和令牌认证

Related 相关文章

  1. 1

    如何在Django Rest Framework中以403错误返回数据?

  2. 2

    使用Nginx和Django Rest Framework的身份验证问题

  3. 3

    在Django Rest Framework中测试PUT请求

  4. 4

    Django REST Framework批处理PUT(更新)

  5. 5

    Django Rest Framework JWT 400错误请求

  6. 6

    django rest框架中'PUT'请求Ajax中的禁止403错误

  7. 7

    jqGrid,POST使用WCF和REST返回错误的请求

  8. 8

    如何使用Django Rest Framework删除对象

  9. 9

    使用Django REST Framework的Solr搜索结果

  10. 10

    使用Django Rest Framework设置iOS Restkit

  11. 11

    Django REST Framework-CurrentUserDefault使用

  12. 12

    如何使用Django Rest Framework更新OneToOneField

  13. 13

    使用Django Rest Framework自动引用嵌套

  14. 14

    Django Rest Framework,使用多个模型查询

  15. 15

    使用 django-rest-framework 的密码哈希?

  16. 16

    在Django Rest Framework中使用PUT更新外键

  17. 17

    在Django Rest Framework中创建或更新(使用PUT)

  18. 18

    在Django Rest Framework中使用PUT更新外键

  19. 19

    使用 Django rest 框架获取请求不返回数据

  20. 20

    Django REST Framework:使用列表测试POST请求时出错

  21. 21

    使用请求库将图像上传到Django Rest Framework

  22. 22

    使用Django REST Framework作为Django的身份验证后端

  23. 23

    Django Rest Framework使用PrimaryKeyRelatedField返回嵌套对象

  24. 24

    如何使用Django REST Framework返回生成的文件下载?

  25. 25

    使用Django REST Framework从多个模型返回结果

  26. 26

    使用ParseError Django REST Framework返回无效数据

  27. 27

    Django Rest Framework 使用`permissions.IsAuthenticated` 引发错误

  28. 28

    结合使用django-rest-framework和APITestCase

  29. 29

    Django Rest Framework-使用会话和令牌认证

热门标签

归档