Azure App Service中Angular应用直接访问路由出现404错误
解决Azure Linux App Service中pm2 serve --spa参数不生效的404问题
以下是针对该问题的几种可行解决方案:
升级pm2版本
部分旧版本pm2的--spa参数存在兼容性问题,先升级到最新版:npm install -g pm2@latest升级完成后重启App Service,测试子路由访问情况。
添加自定义nginx配置
Azure Linux App Service底层依赖nginx做反向代理,默认配置可能未正确处理SPA路由。在项目根目录创建.nginx.conf文件,写入以下规则:location / { try_files $uri $uri/ /index.html; }部署该文件后,Azure会自动应用这个配置,强制所有不存在的路径回退到
index.html。验证部署路径与启动命令
确认/home/site/wwwroot下存在Angular构建后的index.html文件,若部署时是将dist目录内容上传,需确保文件已完整复制到wwwroot根目录。
可尝试将启动命令改为相对路径(App Service默认工作目录为/home/site/wwwroot):pm2 serve . --no-daemon --spa确认Node版本配置
在App Service的应用设置中,检查WEBSITE_NODE_DEFAULT_VERSION是否设置为18-lts,避免运行栈版本不匹配导致的异常。修改后重启服务生效。
内容的提问来源于stack exchange,提问作者Mehdi Benmoha
相关产品推荐
相关产品推荐

