解决Django 1.5非域名访问产生的500错误

Django 1.5开始提供了一个新的,而且是必需开启的特性:通过设置ALLOWED_HOSTS,来限制访问的域名。只有通过绑定好的域名才能访问站点,而通过IP地址或非绑定到此站点的方式,则会被拒绝(默认会产生一个500错误)。

这是一个非常棒的特性,但他也有一个副作用,那就是会产生一大堆的500错误,而如果不怀好意的人,通过扫描IP等方式骚扰你的服务器的话,会让你不敢其扰,而且在一定程度上也拖慢了系统的反应能力。毕竟产生500错误也是要消耗一些计算资源的,而且是昂贵的django资源!

解决的办法就是,在前端服务器上将非域名访问直接阻止掉,不让他透传到django上。如。在nginx上可以通过以下方式解决:

server {
    listen 80 default;
    location / {
        # or show another site
        return 403 "Forbidden";
    }
}
server {
    listen 80;
    server_name $your_domain;
    location / {
        uwsgi_pass unix:$your_django_sock;
        include uwsgi_params;
    }
}

参考:

http://stackoverflow.com/questions/17149435/avoiding-djangos-500-error-for-not-allowed-host-with-nginx

时间: 2024-08-06 15:59:42

解决Django 1.5非域名访问产生的500错误的相关文章

项目部署到tomcat6.0启动成功后访问页面报500错误解决方法

如题:项目部署到tomcat6.0启动成功后访问页面报500错误解决方法,很奇葩,启动的时候没有任何问题,但输入访问地址后报500,去年国庆放假前夕,为这个问题伤神了半天最后解决了,今天又碰到了,乍一看摸不着头,后面仔细回想了下,迅速解决了问题. 原因:项目里面的jar和tomcat里面lib里面的jar重复了. 解决方法: 1.要么更换tomcat7或之后的版本,之后的版本就不会出现这个问题. 2.去部署之后的tomcat的webapps\项目名\WEB-INF\lib 里面删掉jsp-api

tomcat 配置通过域名访问及出现400错误原因

首先确保你可以通过IP访问,如下 然后再打开server文件 找到下面这几个地方,在对应处修改,并添加下面内容: <Context path="" docBase="\JavaWebProject" /> 最后注意端口号,浏览器访问默认80端口,如果不设置成80的话则在访问的时候需要手动添加,如 zerohua.ink:9999 设置好之后,你就可以通过域名访问了 原文地址:https://www.cnblogs.com/zerohua/p/126141

Nginx 禁止IP访问 只允许域名访问

今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案 我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行:listen 80 default; 后面的default

限制nginx仅能域名访问,不可用ip访问

在nginx.conf 文件里 初始时是: server {     listen 80 default_server;     server_name www.lnmp.org;     ... } 修改成 server {     listen 80;     server_name yoursDomainName;    #这里是你自己指定的域名     ... } 再在上个server后继续添加一段: server {     listen 80 default_server;     

解决Linux环境下安装dedecms(织梦)提示http500错误

Dedecms安装非常简单,鼎峰阿D今天就不多做介绍,如果您感兴趣,可以通过阅读“全环境安装dedecms内容管理图文教程”来学习.下面,将要解决一个在安装dedecms时,提示http 500错误的案例. 故障状态:正常安装dedecms v5.7 gbk提示http500错误 Dede安装环境:一个香港免备案的linux环境的php空间. 故障案例分析: http500错误,查询度娘的结果: 1.“http 500为内部服务器错误,无法解析程序脚本” 2.“http 500 错误是由于服务器

redis非授权访问的查毒过程

排查及处理过程 2016年9月26日晚,阿里云后台报告有一台服务器在异地登录的告警,初步怀疑是被入侵了,临时采取关闭这台服务器的方法避免对集群中的其他主机造成危害. 第二天,开始排查原因. 首先在服务器上发现一个额外的计划任务(下图是解决过程中被我注释掉了) 联想到这个机器上跑有redis,基本断定是redis的未加密码导致的非授权访问. 根据以往经验,linux上的这个病毒通常是DDOS或者挖矿程序.下面来慢慢分析. 我们根据crontab里面的网址,我们到chrome里面输入这个链接下载下看

给大家分享web开发新手修改hosts文件实现本地域名访问的正确方法

1.如何正确修改hosts文件: 一般打开hosts文件里面都会有个示例,按照其格式修改即可 比如以下内容: # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host 即代表打开rhino.acme.com这个网址将解析到102.54.94.97,ip地址与网址间至少有一空格,当然建议通过按Table键来编辑,即美观又不容易编写失误;这也就是通过解

[转]MIPS 下非对齐访问的问题

1.问题 MIPS 下使用访存指令读取或写入数据单元时,目标地址必须是所访问之数据单元字节数的整数倍,这个叫做地址对齐. 比如在 MIPS 平台上,lh 读取一个半字时,存储器的地址必须是 2 的整数倍: lw 读取一个字时,存储器的地址必须是 4的整数倍: sd 写入一个双字时,存储器的地址必须是 8 的整数倍.倘若访存时,目标地址不对齐,则会引起异常,典型的是系统提示“总线错误”后,直接杀死进程. 看一个测试程序(龙芯2E平台): #include <stdio.h>#include &l

万网二级域名访问nginx子目录

最近重新安装了小站(1wei.cc)的wordpress,打算使用二级域名blog.1wei.cc访问位于根目录下的wordpress(/wordpress,对应1wei.cc/wordpress).于是开始各种搜索了,各种问答.文章.博客反复研究实验,好不折腾,谁叫咱们半路出家,好多不懂.不得不说:天下文章一大抄,大多数人不会抄,抄了也不知道注明转载,好歹写错了可以说,这不是老子写的.找到好多人写(抄)的一模一样文章解决不了问题,不过我等开始看的时候还是不明所以得称赞高级.弄完了发现也挺简单的