本地Docker环境运行Drupal+ISLE时更新出现403 AJAX错误求助
Docker+ISLE环境下Drupal更新AJAX 403错误解决方案
排查与修复步骤
修正文件权限
ISLE容器内Drupal文件/目录权限异常会导致更新脚本无法读写资源。进入目标容器执行权限修正命令:docker exec -it [容器名称/ID] bash chown -R www-data:www-data /var/www/html find /var/www/html -type d -exec chmod 755 {} \; find /var/www/html -type f -exec chmod 644 {} \;配置信任主机与CSRF验证
403错误常关联CSRF令牌验证失败,检查settings.php中信任主机配置是否覆盖本地访问地址:$settings['trusted_host_patterns'] = [ '^localhost$', '^127\.0\.0\.1$', // 添加你的本地测试域名或IP ];同时确认后台“配置>系统>站点信息”中的站点URL与访问地址一致。
检查容器内服务器安全规则
ISLE默认的Nginx/Apache配置可能拦截更新请求,进入容器查看服务器配置文件(如/etc/nginx/sites-available/default),排查是否存在限制POST请求或AJAX路径的规则,临时注释相关限制后重试更新。清除Drupal缓存
缓存过期可能引发验证逻辑异常,执行Drush命令清除缓存:docker exec -it [容器名称/ID] drush cr
替代方案
如果界面更新始终报错,可直接通过Drush命令行执行更新:
docker exec -it [容器名称/ID] drush up
内容的提问来源于stack exchange,提问作者ErichsCorner
相关产品推荐
相关产品推荐

