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

Hostinger VPS部署Django后端:域名访问异常排查求助

问题排查与解决步骤

1. 修正Django项目核心配置

  • ALLOWED_HOSTS 配置:
    打开项目根目录的settings.py,将你的域名加入ALLOWED_HOSTS列表,示例:

    ALLOWED_HOSTS = ['你的域名', '服务器IP']
    

    测试阶段可临时设为ALLOWED_HOSTS = ['*'](生产环境需改回具体域名)。

  • 静态/媒体文件配置:
    确认settings.py中STATIC_URL、MEDIA_URL、STATIC_ROOT、MEDIA_ROOT路径正确。若使用Nginx做反向代理,需在Nginx配置文件中添加静态文件转发规则:

    location /static/ {
        alias /你的项目绝对路径/static/;
    }
    location /media/ {
        alias /你的项目绝对路径/media/;
    }
    

2. 调整反向代理(Nginx)配置

若用Nginx转发域名请求到Django服务(uWSGI/Gunicorn),需确保配置完整:

  • 基础转发配置示例:
    server {
        listen 80;
        server_name 你的域名;
    
        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8000; # 对应Django服务监听端口
        }
    
        # 静态/媒体文件转发规则(同步骤1)
        location /static/ {
            alias /你的项目绝对路径/static/;
        }
        location /media/ {
            alias /你的项目绝对路径/media/;
        }
    }
    
  • 解决表单提交失败(CSRF验证问题):
    在Nginx的location /块中添加头信息转发:
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    
    同时在Django的settings.py中添加信任域名:
    CSRF_TRUSTED_ORIGINS = ['https://你的域名', 'http://你的域名']
    
    (启用HTTPS时需保留https开头的域名)

3. 验证域名解析与防火墙

  • 用ping 你的域名确认域名已正确解析到服务器IP。
  • 检查Hostinger VPS防火墙,确保80(HTTP)、443(HTTPS)端口已开放;若直接访问后端端口,需同步开放对应端口。

4. 重启服务生效

修改配置后,重启相关服务:

# 重启Nginx
sudo systemctl restart nginx

# 重启uWSGI(若使用)
sudo systemctl restart uwsgi

# 重启Gunicorn(若使用)
sudo systemctl restart gunicorn

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:55:05