django - 在 Apache 上设置 Django 应用程序后 CSRF 失败

标签 django apache ssl mod-wsgi

在 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/

相关文章:

python - 对于 Django 单元测试,为什么有些测试运行器会考虑生产数据库,而有些则不会?

php - 为 PHP 安装 SSH2 以在 OSX 10.9.1 上的 Xampp Apache 服务器上运行

apache - 具有参数的URL的RewriteCond

wcf - "FindBySubjectName"找不到 X.509 证书

javascript - 如何在 HTML 中显示来自 ajax 响应的 javascript

python - 在 Django 中截断 SQL 查询的日志记录

来自外部文件的 Javascript 未加载

linux - RHEL/apache 上的 QApplication/QThread 崩溃(__get_tls_addr 返回 0)

ssl - 在长轮询期间刷新 NginX 的 SSL 缓冲区

azure - 如何知道 Azure 服务器是否使用 TLS 1.2