我有一个API在一个URL上工作得很好(它返回一个很好的201 CREATED):
curl -d @scan.json -H "Content-Type: application/json" -u admin -i -v "https://vincentle.pythonanywhere.com/api/beacons/"
但是当我尝试在没有SSL的情况下执行相同的请求时:
curl -d @scan.json -H "Content-Type: application/json" -u admin -i -v "http://vincentle.pythonanywhere.com/api/beacons/"
我收到301 Moved Permanently
回复。
我尝试了两个修复程序:
我定义了一个没有尾部斜杠(after reading this post)的网址。这不是解决方案,请求使用或不使用斜杠将返回301。
我添加了标题" HTTP_X_FORWARDED_PROTO: https
"在我的请求中,因为我的设置中有SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
行。这也不是解决方案。
有什么想法吗?
答案 0 :(得分:0)
您需要查看重定向到的位置。 我敢打赌,你的配置会将http重定向到https,在这种情况下,这是一个与Django / Django REST框架无关的管理问题。