【问题标题】:drupal7: The web service endpoint returned a "HTTP/1.1 403 Forbidden" responsedrupal7:Web 服务端点返回“HTTP/1.1 403 Forbidden”响应
【发布时间】:2017-09-21 01:35:45
【问题描述】:

大约有 12 个类似的问题,但与 drupal 无关。 这是我在数字海洋水滴上的网站:http://104.236.27.226/

在 ubuntu16 php7 上是 apache2。 我正在使用:000-default.conf:

ServerName casey.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory "/var/www/html">
  AllowOverride All
  Require all granted 
</Directory>

我尽可能地允许文件权限:

drwxrwsrwx  4 casey    www-data 4096 Sep 20 12:15 www/

我在 settings.php 中放了一个回显,最后向用户显示 apache:

casey@dchouse02:/var$ tail -n 3 www/html/sites/default/settings.php
echo('<h4>ECHO: from setting.php after databases array; and apache user is (via exec whoami): '); 
echo exec('whoami'); echo ('</h4>');

知道正在读取 settings.php,我为这个 D7 站点转到了 indx.php:

casey@dchouse02:/var$ tail -n 3 www/html/index.php 
echo('<p>from index.php: before menu_execute_active_handler:</p>');
menu_execute_active_handler();
echo('<p>After menu_execute_active_handler</p>'); 

此时出现错误:

The web service endpoint returned a "HTTP/1.1 403 Forbidden" response 

apache 进程列表看起来与我从笔记本电脑上的 ubuntu 获得的相似:

casey@dchouse02:/var$ ps aux | grep apache
root     16068  0.0  4.7 327752 23512 ?        Ss   16:59   0:00 /usr/sbin/apache2 -k start
www-data 16071  0.0 10.2 345548 51244 ?        S    16:59   0:00 /usr/sbin/apache2 -k start
www-data 16072  0.0 10.2 343656 51176 ?        S    16:59   0:01 /usr/sbin/apache2 -k start
www-data 16073  0.0 10.7 347648 53632 ?        S    16:59   0:00 /usr/sbin/apache2 -k start
www-data 16074  0.0 11.1 349660 55520 ?        S    16:59   0:01 /usr/sbin/apache2 -k start
www-data 16075  0.0 10.1 345548 50888 ?        S    16:59   0:01 /usr/sbin/apache2 -k start
www-data 16099  0.0 10.0 343428 50248 ?        S    16:59   0:00 /usr/sbin/apache2 -k start
www-data 16764  0.0 10.3 345600 51792 ?        S    18:37   0:00 /usr/sbin/apache2 -k start
www-data 17344  0.0  1.3 327784  6612 ?        S    21:38   0:00 /usr/sbin/apache2 -k start
www-data 17347  0.0  1.3 327784  6612 ?        S    21:38   0:00 /usr/sbin/apache2 -k start

我不知道在解决这个问题时还能做些什么。 任何帮助将不胜感激。

【问题讨论】:

    标签: php apache drupal drupal-7 digital-ocean


    【解决方案1】:

    尝试打开 apache 设置文件:

    sudo nano /etc/apache2/envvars
    

    并找到定义了 apache 用户的行,例如:

    export APACHE_RUN_USER=www-data
    export APACHE_RUN_GROUP=www-data 
    

    然后您可以从控制台检查该用户是否可以访问您的目录或最终将 apache 用户更改为其他可以访问的用户。

    【讨论】:

    • 好主意,我检查了,它设置为 www-data。即使我将其更改为“casey”并使 casey:www-data 成为 /var/www/ 的所有者,问题也不会消失。
    • 更改环境变量后是否重新启动了 apache?它应该可以工作。
    【解决方案2】:

    在 DocumentRoot 中添加一个最终 / 就可以了:

    DocumentRoot /var/www/html/
    <Directory "/var/www/html/">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 2020-06-21
      • 2015-07-13
      • 2011-03-18
      相关资源
      最近更新 更多