加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

django admin在保存时重定向到错误的端口

发布时间:2020-12-13 21:01:26 所属栏目:Nginx 来源:网络整理
导读:我有一个用nginx apache设置的django项目.用于外部访问的http端口是20111,然后将其转发到服务器机器(具有内部IP)到端口80.因此nginx侦听端口80(并将相关请求传递到端口5000上的apache). 现在可以通过http://externalip:20111从外部进行初始登录 但是当我完成

我有一个用nginx apache设置的django项目.用于外部访问的http端口是20111,然后将其转发到服务器机器(具有内部IP)到端口80.因此nginx侦听端口80(并将相关请求传递到端口5000上的apache).

现在可以通过http://externalip:20111从外部进行初始登录 – 但是当我完成管理操作时,比如保存条目,我被重定向到http://externalip/path/to/model – 没有端口20111.结果是超时.如何告诉django使用特定主机名/端口(即http://externalip:20111)进行所有管理重定向?

最佳答案
在代理或负载均衡器后面部署应用程序时,通常依赖于X-Forwarded-Host标头. Django有support

首先,您必须设置nginx以发送正确的标头.添加到您的nginx主机配置(在您的位置部分内):

proxy_set_header X-Forwarded-Host $host:20111;

其次,添加到您的settings.py:

USE_X_FORWARDED_HOST = True

它将允许django信任来自请求的X-Forwarded-Host头.

它应该让它适合你.出于安全原因,您不应信任X-Forwarded-Host中发送的每个值,因此请在settings.py中将您的可信域/ IP添加到ALLOWED_HOSTS

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读