这里我的 apache2 出现了问题,似乎很难调试……或者:首先很难理解。
我们的环境是 Debian Wheezy + Apache2 + mod_perl + Mason。
问题是,即使我尝试获取一个空站点,apache 也会发送一个错误文件后文件本身,
OK
The server encountered an internal error or misconfiguration and was unable to complete your request.
但文件本身会被发送。假设我的 index.html 中只有“hello”。
每个“gui 浏览器”(我尝试过的 Firefox、Chrome、Safari 和 Opera)都只显示 hello,即使在源代码中也没有类似这样的错误。那里没有对 mason 或其他任何内容的解释。看起来,大多数浏览器在发送第一个文件后完全忽略了所有其他文件(在我看来,这完全没问题),但我真的不明白 apache 在文件本身成功创建和发送后如何以及为什么会发送这样的内容。
但是在网络日志(以及 w3m 和 lynx 中)中,我看到每个文件下方都有该错误消息。
Apache 不会在任何地方记录任何内容,无论它来自哪个文件或组件,并且我们已经尝试禁用 mod_rewrite 之类的东西以及所有其他东西,因此,只有“基本 apache2 配置”在起作用,并且我们禁用了文件目录及以上版本的自动处理程序和 dhandler,但是:它仍然发送此消息。
我知道,我的解释不是很好,因为我不是这方面的专家,但也许任何人都知道这是怎么回事,或者至少,我可以尝试看看这个东西是从哪里来的。
答案1
产生 500 错误的是 mod_perl 或 Mason。
显示 mod_perl 的配置和它所适用的 vhost,然后有人可能会给你提供指导。