You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django生产环境登录/注册时出现CSRF POST错误排查求助

Django生产环境CSRF验证失败问题(已解决)

问题背景

本地服务器运行WebApp完全正常,但生产环境中登录/注册操作频繁触发CSRF POST错误。已在settings.py中启用django.middleware.csrf.CsrfViewMiddleware,并尝试了多种社区推荐配置仍未解决。

已尝试的配置(settings.py)

ALLOWED_HOSTS = ["*"]

CSRF_COOKIE_SECURE = True

SESSION_COOKIE_HTTPONLY = True
CSRF_COOKIE_HTTPONLY = True

CSRF_COOKIE_DOMAIN = 'mydomainname'

CSRF_COOKIE_NAME = "csrftoken_custom"

SESSION_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SAMESITE = 'Lax'

CSRF_TRUSTED_ORIGINS = ['*']

登录表单模板代码(login.html)

<form method="POST" action="{% url 'login' %}">
    {% csrf_token %}
    <div class="username-email">
        Username / Email
    </div>
    <div class="login-rectangle">
        <input class="login-rectangle-text" type="text" name="username" placeholder="Type Here" required>
    </div>

    <div class="password">
        Password
    </div>
    <div class="login-rectangle-2">
        <input class="login-rectangle-2-text" type="password" name="password" placeholder="**********" required>
        <div class="eye">
            <img src="{% static 'images/eye.png' %}">
        </div>
    </div>
    <div class="registerframe">
        <button class="create-user" type="submit"><span class="create-user-text">Sign In</span></button>
    </div>

</form>

错误信息

  • Railway生产日志:
    Forbidden (Origin checking failed - https://mywebappname does not match any trusted origins.): /login/
    
  • 调试模式下错误提示:

    Forbidden (403)
    CSRF verification failed. Request aborted.

    失败原因:

    Origin checking failed - https:mywebapp does not match any trusted origins.
    

    (注:mywebapp与settings.py中CSRF_COOKIE_DOMAIN配置的域名一致)

解决方法

Django 4.0对CSRF_TRUSTED_ORIGINS的域名格式做了强制修改:必须以协议前缀(http://或https://)开头,而此前版本仅需填写域名本身。

将CSRF_TRUSTED_ORIGINS修改为带协议的格式即可解决问题,示例:

CSRF_TRUSTED_ORIGINS = ['https://mydomainname']

内容的提问来源于stack exchange,提问作者arch_er45

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 18:32:15