You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service(PHP环境)出现NGINX 403 Forbidden错误求助

Azure Web App Statamic(Laravel)403 Forbidden 故障排查建议

1. 检查自定义启动脚本状态

  • 确认/home/site/scripts/startup.sh(或你指定的启动脚本路径)是否存在,内容是否未被篡改。示例正确脚本内容:
    cd /home/site/wwwroot
    # 确保NGINX配置指向public目录的命令或Laravel启动命令
    php artisan serve --host 0.0.0.0 --port 8080
    
  • Azure Web App在自动更新、部署后可能重置脚本,需确认脚本未被意外删除或替换。

2. 验证public目录及文件权限

  • SSH登录Web App,执行命令检查权限:
    ls -ld /home/site/wwwroot/public
    ls -l /home/site/wwwroot/public/index.php
    
  • 确保public目录权限为755,index.php权限为644,所有者为www-data(Web App运行用户)。权限异常时执行:
    chown -R www-data:www-data /home/site/wwwroot/public
    chmod -R 755 /home/site/wwwroot/public
    chmod 644 /home/site/wwwroot/public/index.php
    

3. 检查NGINX配置有效性

  • 查看当前NGINX站点配置:
    cat /etc/nginx/sites-available/default
    
  • 确认配置中根目录指向public:
    root /home/site/wwwroot/public;
    index index.php index.html index.htm;
    
  • 若配置被重置,可通过/home/site/nginx/default.conf自定义配置,之后重启NGINX:
    service nginx restart
    

4. 检查Statamic存储目录权限

  • Statamic依赖storage目录的写入权限,执行命令检查:
    ls -ld /home/site/wwwroot/storage
    
  • 确保权限为775或755,所有者为www-data,异常时执行:
    chown -R www-data:www-data /home/site/wwwroot/storage
    chmod -R 775 /home/site/wwwroot/storage
    

5. 查看NGINX详细错误日志

  • 日志流可能未展示具体错误,直接查看NGINX错误日志:
    cat /var/log/nginx/error.log
    
  • 日志会明确标注403原因,比如权限不足、索引文件缺失、配置语法错误等。

6. 确认Web App启动命令配置

  • 进入Azure门户Web App的配置页面,检查“启动命令”是否正确指向自定义脚本,示例:
    /home/site/scripts/startup.sh
    
  • 若启动命令被清空或修改,重新设置后重启Web App。

7. 排查自动部署/扩展冲突

  • 检查自动部署记录(如GitHub Actions、Azure DevOps),确认最近部署未覆盖启动脚本或配置文件。
  • 查看已安装的Web App扩展,部分扩展可能修改NGINX配置或目录权限。

内容的提问来源于stack exchange,提问作者PoorInRichfield

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:22:39