GitHub Actions部署Node.js至Azure Web App后Web.Config被覆盖求助
解决Azure Windows Web App部署后web.config被自动修改的问题
问题根源
Azure Windows Web App部署Node.js应用时,默认用Oryx工具自动检测项目结构并生成默认web.config,这会覆盖你自定义的重写规则,把指向dist/index.js的配置重置为根目录的index.js。
可行解决方案
1. 保留自定义web.config并禁用自动生成
在项目根目录放置你配置好的web.config(确保包含<action type="Rewrite" url="dist/index.js"/>),然后新建一个名为.oryx_config的文件,写入以下内容:
skip_web_config_generation: true
这个配置会告诉Oryx不要自动生成或覆盖你的web.config,直接使用你提供的版本。
2. 关闭Azure自动构建(可选)
如果你的项目已经在本地或GitHub Actions中完成构建,不需要Azure自动构建,可以在Azure门户的应用服务配置里添加应用设置:
- 键:
SCM_DO_BUILD_DURING_DEPLOYMENT - 值:
false
这会跳过部署过程中的自动构建步骤,避免Oryx生成默认的web.config。
3. 确保GitHub Actions部署包含自定义配置
在你的GitHub Actions部署步骤中,确保打包内容包含根目录的web.config和.oryx_config文件。比如使用azure/webapps-deploy Action时,设置package: '.',直接以项目根目录作为部署源,保证自定义配置被一同部署。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

