gpt4 book ai didi

django-http-proxy 前置斜线

转载 作者:行者123 更新时间:2023-12-04 14:31:30 25 4
gpt4 key购买 nike

我的 urls.py 中有这个

from httpproxy.views import HttpProxy

urlpatterns += patterns('',
url(r'^proxy/(?P<url>.*)$', HttpProxy.as_view(base_url=settings.PROXY_URL))
)

还有我的settings.py

...

PROXY_URL = 'http://external.com'

...

我的问题是在访问 URL http://localhost:8000/proxy/ 时,我可以从 http://external.com 的日志中看到它正在返回 404 因为 url 前面有一个额外的斜杠,例如:

http://localhost:8000/proxy/test/ 将记录 "GET//test/HTTP/1.1"404 15447

我一直在挖,但找不到骨头!如果所有的高手都好心借一根骨头给这个饥饿?

干杯!

最佳答案

由于没有人回答(我什至因为没有人回答而获得了徽章,这有多酷?),我将发布我的解决方案,该解决方案在问题提出 2 天后解决。

1 - 因为 this issue pointed out by a friend ,我已经避免使用 django-http-proxy

2 - 所以我求助于一个更好的库,它代理所有 HTTP 方法,不像 django-http-proxy 只能代理 GET。见面django-revproxy .

3 - 这引入了另一个问题——Cookie 冲突。发生这种情况是因为我有两个 Django 实例。解决方案是在您的一个 Django 应用程序中显式声明 cookie 路径,这样它就不会使用相同的路径。只需在 settings.py 中添加这两行:

SESSION_COOKIE_NAME = "yourApp_session_id"
CSRF_COOKIE_NAME = "yourApp_csrftoken"

4 - 就是这样。我希望这个解决方案能帮助那些正在寻找的人。

关于django-http-proxy 前置斜线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com