Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决可疑操作:无效HTTP\U主机头错误?_Python_Django_Apache_Pythonanywhere - Fatal编程技术网

Python 如何解决可疑操作:无效HTTP\U主机头错误?

Python 如何解决可疑操作:无效HTTP\U主机头错误?,python,django,apache,pythonanywhere,Python,Django,Apache,Pythonanywhere,我试图在上部署我的django应用程序 从apache错误日志进行回溯: 2013-07-23 09:31:35,058 :Internal Server Error: /favicon.ico Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 89, in get_response response =

我试图在上部署我的django应用程序

从apache错误日志进行回溯:

2013-07-23 09:31:35,058 :Internal Server Error: /favicon.ico
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 89, in get_response
    response = middleware_method(request)
  File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 55, in process_request
    host = request.get_host()
  File "/usr/local/lib/python2.7/dist-packages/django/http/__init__.py", line 179, in get_host
    "Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host)
SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): monty_singh.pythonanywhere.com

我尝试了
['*']
['monty_singh.pythonanywhere.com']
作为
允许的\u主机的值
,但应用程序仍然无法运行。无论我为
ALLOWED\u HOSTS设置了什么值,我都会得到相同的错误。

当Django从HTTP请求验证主机时,它会尝试将其与以下正则表达式匹配,您可以在中找到:


用户名中的下划线导致Django拒绝请求中的主机名。您可以使用新用户名或使用其他web框架创建

从pyhonanywhere主页转到文件并删除“缓存”(如果有),然后在项目文件夹中找到settings.py文件,添加星号或似乎不允许的链接: 允许的_主机=['*']
然后回到dashboard>>网页,按“重新加载”按钮,然后单击上方的“重新加载”按钮。

检查并@karthikr我已经阅读了这些帖子(在发布问题之前)。第一个与
nginx
相关,所以我不知道如何在apache服务器上使用它,第二个也没有帮助。一个小问题-更改设置后是否重新启动了apache?另外,我建议在apache上使用nginx以获得更好的性能,您是否已经尝试从主机名中删除了
?如果改为使用通配符,它不会生效吗?例如:
*.pythonanywhere.com
。另外,只要
.pythonanywhere.com
就可以了,并且可以为you@karthikr现在这太令人尴尬了,错过了那篇文章中最重要的一行:确保传递给应用程序服务器的主机名中没有
\uuu
。它已经在创建一个新帐户,我认为Pythonywhere应该在有人选择用户名时添加一个与此相关的警告。谢谢你的帮助。我们讨论过不让他们输入用户名。但你说得很对!它肯定会出现在新的维基上。这是它第一次真的咬人。事实上,看看代码。我们不再允许创建带有下划线的用户名。我们大约在一年前做了这个改变。但是,一些较旧的帐户中可能仍然有
。是的,我的帐户大约有1.5年的历史。
host_validation_re = re.compile(r"^([a-z0-9.-]+|\[[a-f0-9]*:[a-f0-9:]+\])(:\d+)?$")