Azure App Services部署Laravel应用出现403 Nginx 1.24.0错误求助
解决Azure App Service上Laravel 8.1应用的403 Nginx 1.24.0错误
以下是针对该问题的排查和解决步骤:
1. 确认站点根目录指向Laravel的public文件夹
Laravel的入口文件是public/index.php,Azure App Service默认可能未正确指向该目录,可通过以下方式配置:
- 进入App Service的配置 -> 路径映射,添加虚拟应用程序:设置虚拟路径为
/,物理路径为/home/site/wwwroot/public(Linux环境)或site\wwwroot\public(Windows环境)。 - 或在配置 -> 常规设置中,设置启动命令为
cd /home/site/wwwroot && php artisan serve --host 0.0.0.0 --port 8080(Linux环境),强制指定应用入口。
2. 修复文件权限问题
欠费恢复后文件系统权限可能被重置,Laravel需要storage和bootstrap/cache目录具备读写权限:
- 通过App Service的开发工具 -> SSH连接到实例,执行命令:
chmod -R 775 /home/site/wwwroot/storage /home/site/wwwroot/bootstrap/cache chown -R www-data:www-data /home/site/wwwroot/storage /home/site/wwwroot/bootstrap/cache
3. 恢复默认Nginx配置(若手动修改过)
如果之前尝试自定义Nginx配置导致冲突,删除你添加的.nginx.conf或nginx.conf文件,让App Service使用默认的PHP站点配置——默认配置已适配Laravel路由规则,无需手动调整。
4. 重启并重新部署应用
- 在Azure门户的App Service概述页面,点击重启按钮,等待实例重启完成。
- 重新触发一次部署(比如从代码仓库重新部署,或手动上传代码),确保部署流程无异常。
5. 查看日志定位具体原因
通过日志可精准找到403错误根源:
- 查看Laravel日志:在SSH中查看
/home/site/wwwroot/storage/logs下的日志文件,记录了应用层面的错误信息。 - 查看Nginx日志:在App Service的监测 -> 日志流中选择
nginx日志,查看具体的403错误详情(如目录访问被禁止、文件不存在或权限不足等)。
内容的提问来源于stack exchange,提问作者Felipe Lipe
相关产品推荐
相关产品推荐

