我最近通过从源代码编译它来更新我Ubuntu
的,但副作用是我遇到了一个奇怪的行为。Apache
2.4
可以Apache
在本地提供文件,但不能在其他机器上提供。例如,当我在同一台机器上输入我机器的本地 IP 192.168.0.81 时,它会打开页面。但当我在其他机器上(在同一网络上)输入它时,它会给出“禁止 403”错误响应。
以下是我已经测试过的场景:
关闭 Apache 以确保 403 是由正确的 Apache 生成的。结果是肯定的,一旦关闭就不会产生任何响应。
如前所述,使用本地网络 IP(192.168.0.81)加载页面,以确保 Apache 正在监听它,而不仅仅是 127.0.0.1。结果是肯定的,该页面可以在 Apache 所在的同一台机器上加载(但不能在其他机器上加载)。
测试 Apache 的日志:没有结果。access_log 和 error_log 中均无任何记录。或者至少我找不到它!
我个人认为,当 Apache 为本地请求提供文件时,它是代表某个用户执行此操作,但当请求来自其他计算机时,用户会发生变化,并且他(无论他是谁)没有足够的访问权限,从而导致“禁止 403”错误。因此,为了测试这一点,我将所有文件的模式更改为 777,但仍然没有成功。
有什么建议么?
答案1
从 2.2 版开始,配置选项(包括访问控制部分)已经发生改变。
您需要检查 apache 配置的访问权限并Require all granted
在需要的地方添加字符串。