域名访问群晖服务器上的网站的时候,报告500错误

 

使用域名访问群晖服务器上的网站的时候,报告500错误(直接使用`IP`地址访问的时候,不会报错),如下图:

# 查看错误日志 
$ sudo tail -f /var/log/httpd/apache24-error_log

查看`apache 2.4`错误日志,发现如下错误日志:

2020-08-09T12:36:12+08:00 DS718 [Sun Aug 09 12:36:12.283126 2020] [core:alert] [pid 20436:tid 140261401286400] [client 10.10.10.116:40032] /volume1/web/xxx/.htaccess: Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration

查看网站下面的`.htaccess`,可以看到有如下配置:

# 禁止 readme.html 的访问,这个文件会暴露版本号信息
<Files readme.html>
   order deny,allow
   deny from all
</Files>

这个问题导致的原因是`apache 2.4`默认已经不支持`.htaccess`文件使用`order`关键字来控制文件访问权限。

控制命令已经被替换成如下两个

一律允许访问

Require all granted

一律禁止访问

Require all denied

具体的说明参考 Upgrading to 2.4 from 2.2

对于`ubuntu`用户来说,可以通过启用`mod_access_compat`模块来解决这个问题,如下:

$ sudo a2enmod mod_access_compat

$ sudo service apache2 restart

对于群晖来说,就只能手工修改配置文件了。

参考链接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注