在 Django 中创建应用程序并确保一切正常后,我尝试在远程服务器上提供我的应用程序。那里的堆栈是带有 mod-wsgi-py3 的 Apache。使用 mod_wsgi 提供的文档设置 Apache 后,我遇到了 mod-wsgi 问题
为了确保我的应用程序没有任何问题,我检查了 Django 中的标准管理页面。从该服务器访问的唯一开放域是“https://app.web.corpnet.pl:15003/app/” ' 所以我所有的 uri 都使用它作为根。
我认为问题出在 django 设置(允许的主机?)或 apache conf 中,所以我粘贴这些:
ALLOWED_HOSTS = ['localhost', 'app.tnweb.corpnet.pl',
'app.tnweb.corpnet.pl:15003', 'app.corpnet.pl', 'corpnet.pl']
问题被 django 调试描述为:
禁止 (403)
CSRF 验证失败。请求中止。 帮助
失败原因: Referer 检查失败 - https://app.tnweb.corpnet.pl:15003/app/admin/login/?next=/app/admin/不匹配任何可信来源
最佳答案
尝试声明一个 SECRET_KEY: 'app.config['SECRET_KEY']='aSecretAndComplexString''
如果没有声明 key ,通常 CSRF 验证方法会失败。
关于django - 在 Apache 上设置 Django 应用程序后 CSRF 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57288510/