我有 Django 网络应用程序,并通过代理/路由系统 Netflix Zuul 将所有请求路由到此网络应用程序。 Django中的一个视图类返回 HttpResponseRedirect(“/”),但Zuul看不到此重定向。
是否有可能以某种方式设置Zuul代理或Django Web应用程序,以便代理系统可以看到所有重定向(状态代码301和302)?请解释一下这种行为。
复制步骤
我在localhost:8000
上启动了Django网络应用。在浏览器中我想指向具有重定向的视图类:"localhost:8000/list"
,
然后浏览器的开发人员工具显示两个请求:首先是状态代码302,第二个是200,并且在重定向链接看起来像"localhost:8000/"
之后。
first request:
* Request URL:http://localhost:8000/list
* Request Method:GET
* Status Code:302 FOUND
* Remote Address:127.0.0.1:8000
and response headers contain: Location:http://localhost:8000/
second request:
* Request URL:http://localhost:8000/
* Request Method:GET
* Status Code:200 OK
* Remote Address:127.0.0.1:8000
之后我应用代理系统并在localhost:8080
上启动它(路由将所有请求重定向到localhost:8000
)。
在"localhost:8080/list"
的浏览器中搜索时,
浏览器的开发人员工具只显示一个请求,但仍保留在同一个链接上(但由于重定向,我需要将链接更改为"localhost:8080/"
)
* Request URL:http://localhost:8080/list
* Request Method:GET
* Status Code:200
* Remote Address:[::1]:8080