如何测试静态文件是由WebServer而不是Django提供的?

如何测试静态文件是由WebServer而不是Django提供的?,django,apache,amazon-web-services,amazon-elastic-beanstalk,Django,Apache,Amazon Web Services,Amazon Elastic Beanstalk,我对Apache和Django(实际上,它的AWS Elastic Beanstalk提供了Apache)进行了设置。 我已经按照您的预期设置了静态文件,收集了静态文件等等。我还设置了Apache(Elastic Beanstalk)来服务静态文件 然而,我的问题是——如何测试静态文件是否确实由Apache提供(而不是使用Django)?我不是说“在这里查看日志文件”或“删除这个文件,看看会发生什么”——我指的是一个真正的测试。例如,HTTP头的某些方面是否允许我区分文件是由Django通过Ap

我对Apache和Django(实际上,它的AWS Elastic Beanstalk提供了Apache)进行了设置。 我已经按照您的预期设置了静态文件,收集了静态文件等等。我还设置了Apache(Elastic Beanstalk)来服务静态文件


然而,我的问题是——如何测试静态文件是否确实由Apache提供(而不是使用Django)?我不是说“在这里查看日志文件”或“删除这个文件,看看会发生什么”——我指的是一个真正的测试。例如,HTTP头的某些方面是否允许我区分文件是由Django通过Apache提供的,还是仅通过Apache提供的

您可以查看服务器响应标题

此标题来自Django:

$ curl http://localhost:8000/static/file.txt -I --stderr - | grep Server
Server: WSGIServer/0.1 Python/2.7.6
此标题来自Apache:

$ curl http://www.apache.org/img/asf_logo.png -I --stderr - | grep Server
Server: Apache/2.4.7 (Ubuntu)

为什么通过日志文件验证不是“真正的测试”?当调试为False时,Django不提供静态文件。因此,如果您在生产环境中看到静态文件,它们将由web服务器提供服务cases@mbaird-通过日志文件进行测试依赖于已设置的日志级别,Django明确记录静态访问(即,不是独立测试)。其次,使远程测试(即不在运行Django的实例上)变得棘手-即需要远程访问日志。唉,在Elastic Beanstalk上,每次的头文件(在本例中是静态CSS文件)是:Apache/2.4.16(Amazon)mod_wsgi/3.5 Python/2.7.10。。。你会建议Django来点吗?@KevinD,我想是的。你能检查一个100%由Apache提供服务的文件头吗?当文件由Apache提供服务时,头是一样的:Apache/2.4.16(Amazon)mod_wsgi/3.5 Python/2.7.10,所以我建议你通过
中间件放入一些自定义头。处理\u response
并检查它。