python - 切换服务器时过滤损坏的引用 Django 电子邮件

标签 python django amazon-ec2

我们经常在切换 EC2 服务器时更改 AWS 上的 IP 地址(是的,我们在适用时使用弹性 IP)。有时我们会获得用于托管其他应用程序的 IP 地址(当然,这很好)。当最终用户单击过时的链接时,他们会访问我们的服务器(这是正常的)。但是这些 HTTP GET 请求有一个“referer” header ,因此常规 404 错误会生成一封自动 Django 电子邮件给我们的开发人员!

我可以使用以下 Python 代码轻松重新创建错误电子邮件:

import urllib2
req = urllib2.Request('http://my_website.com/some/url/we/dont/have')
req.add_header('Referer', 'http://whatever.i.want')
request = urllib2.urlopen(req)

当 Referer header 被注释掉时,Django 不会发送电子邮件。
我们仍然希望在我们的网站中存在真正损坏的链接时发送电子邮件,因此我不想将 SEND_BROKEN_LINK_EMAILS 设置为 False。
我无法使用 IGNORABLE_404_URLS 进行过滤,因为 a.逻辑相反,b.正则表达式仅扫描路径而不扫描主机名。

帮忙?

最佳答案

我可能会敲一些middleware它捕获 Http404 异常,检查引用 header ,并引发单独的异常(但可能仍会通过邮件发送),或者执行简单的重定向到您的首页。更好的是,创建一个自定义页面来描述用户为何最终到达当前位置,然后重定向到该页面。

关于python - 切换服务器时过滤损坏的引用 Django 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14019190/

相关文章:

python - 如何在 pyomo 中保存(pickle)模型实例

Python 视频处理

Django 和 VueJS 集成错误。将 VueJS 组件加载到 Django 时出错

django - Gunicorn Socket 文件丢失

linux - Rsync 两台服务器之间的同步问题

python - 在Python中迭代二维数组?

python - Scrapy:规则SgmlLinkExtractor概念

django 电子邮件消息异常

amazon-web-services - 默认实例不断重新启动

amazon-web-services - 在一处查看 AWS ALB 访问日志