我有一个使用mod_wsgi安装了apache和django的生产服务器。
django应用程序有一个REST API,它在发送GET请求时提供一些信息。
如果我们使用manage运行django,这在开发服务器上总是很好。屏幕中的py。现在,我们用运行django的apache创建了一个生产服务器,但当从本地主机或同一网络中的其他机器(使用192.168.X.X IP)运行wget时,该API返回错误500。
这是wget的输出:
~$ wget localhost:80/someinfo
--2020-04-02 16:26:59-- http://localhost/someinfo
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2020-04-02 16:26:59 ERROR 500: Internal Server Error.
看起来连接成功了,所以我想这不是apache的问题。错误来自API响应。
apache错误中的错误。日志如下所示:
127.0.0.1 - - [02/Apr/2020:14:24:36 +0000] "GET /someinfo HTTP/1.1" 500 799 "-" "Wget/1.19.4 (linux-gnu)"
问题:500后面的数字是多少?有时是799,有时是803。
但是,如果从外部(即从浏览器)使用服务器的公共IP完成请求,则API工作正常,并且我看到了正确的信息。
我已经检查了django允许的主机,它接受localhost和192.168。十、 另一台机器的X IP。最后我离开了django的设置。py如下:
#ALLOWED_HOSTS = ['localhost', '127.0.0.1', '192.168.1.101']
ALLOWED_HOSTS = ['*']
注意:192.168.1.101是尝试发出GET请求的机器。所有这一切的最终目标是能够从运行在该机器上的python脚本发出GET请求(如果django通过manage.py运行,该脚本已经可以工作)。
我的apache.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
#DocumentRoot /var/www/html
Alias /static /home/myuser/myproject/django/static_root
<Directory /home/myuser/myproject/django/static_root>
Require all granted
</Directory>
<Directory /home/myuser/myproject/django/myproject_django>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-home=/home/myuser/env python-path=/home/myuser/myproject/django
WSGIProcessGroup myproject
WSGIScriptAlias / /home/myuser/myproject/django/myproject_django/wsgi.py
</VirtualHost>
我试着通过manage运行django。py和localhost的wget工作得很好。只有当django由apache运行时,问题才会出现。
我也尝试了本文中给出的解决方案,但更改行并不能修复错误。
我对这个错误有些怀疑:
我非常感谢任何帮助。
我终于自己解决了。
事实证明,wsgi将来自localhost或外部IP的请求作为不同的实例组处理。所以我所要做的就是把
WSGIApplicationGroup %{GLOBAL}
在
/etc/apache2/sites-available/000-default.conf
我今天安装了一个新的CentOS 7x86_64LAMP服务器。 我用c编译了一个简单的CGI脚本,我称之为test.cgi,我为. cgi脚本启用了addHandler。然而,每次我尝试从 /var/www/html目录加载/test.cgi页面时,任何简单的. cgi脚本都会给我抛出一个500内部服务器错误页面。 我测试了脚本是否从 /var/www/cgi-bin 目录工作正常。我的服务器正
我正在使用flask(1.1.1)和spyder(版本=4.1.4)构建区块链。我运行了整个代码,然后去找postman以获得get请求的结果(get\u chain),结果正常。但当我跑的时候http://127.0.0.1:/5000/mine_block.It显示500内部服务器错误。这是完整代码截图完整代码截图mine block Get requestresults
我正在为一个web使用flask构建一个api,我已经有了一个数据库,GET请求可以工作,但当我尝试发布时,它会给我这个错误 500内部服务器错误 这是我写的代码 这是我在邮递员上添加的请求 我还使用了一个本地服务器,我查看了其他链接,每个人都在询问日志,如果我没有错,我想我可以从 看法 这是日志的截图:(我想) 到底是什么问题我不明白 编辑:这是完整的代码: 第二次编辑:控制台日志 添加def错
我通过Ngrok URL为我的Facebook页面设置了我的Webhok,并应用了Messenger平台的所有要求,但当我将消息发送到我的Facebook页面时,我遇到以下错误: 在Laravel中的routs文件中,我使用Get和Post函数,如下所示: 发送消息时,我在storage/app.logs/laravel中收到以下错误: 我的公共职能索引: 请支持和感谢。
问题内容: 我正在尝试为这个工作中的项目学习AJAX。我有一个网站加载病人正在服用的药物。 我递归调用此AJAX函数,以便它将附加一个包含单种药物和7天历史记录的新表。我在使代码在FF和IE中执行时遇到问题。在chrome中效果很好。我有显示xmlhttp.status的警报,这是我得到的: xmlhttp.status == 500(内部服务器错误)。 我注释掉了所有递归,因此将其范围缩小到了这
我收到以下错误 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。 请联系服务器管理员,webmaster@strivemedicare.in并告知他们错误发生的时间,以及可能导致错误的任何行为。 有关此错误的详细信息,请参阅服务器错误日志。 此外,尝试使用错误文档处理请求时遇到 500 内部服务器错误错误。