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

Azure部署的.NET8项目升级Highcharts-export-server后的故障解决

Highcharts导出服务器夏令时问题及Azure部署解决方案

我有一个基于.NET 8.0的项目,本地环境使用Node.js 12.14与npm包highcharts-export-server 2.0.24运行Highcharts导出服务器,该项目部署在**Azure Web App(.NET 8.0栈)**上,通过API调用导出服务器生成并返回图表。

夏令时切换后,生成的图表时间比实际时间早1小时,而此前的图表时间正常。已知highcharts-export-server 3.0.1版本修复了该问题,于是我将Node.js版本升级到20.14.0(满足3.0.1版本需Node.js≥16.16.0的要求),并升级highcharts-export-server到3.0.1版本,但部署后因新增依赖Puppeteer出现一系列问题:

  • 运行时提示找不到Chrome浏览器;
  • 执行npx puppeteer browsers install chrome命令安装Chrome时失败;
  • 创建API执行安装命令成功后,Puppeteer仍无法找到Chrome;
  • 设置PUPPETEER_CACHE_DIR环境变量并通过FTP上传Chrome后,仍出现启动错误;
  • 设置PUPPETEER_EXECUTABLE_PATH指向Chrome可执行文件后,服务器启动但无法找到Worker,无法生成图表。

最终我放弃在.NET项目中运行导出服务器,改用Docker容器部署到Azure Container App,实现了所需的API功能,以下是使用的Dockerfile:

FROM node:lts-alpine
ENV NODE_ENV=production
ENV HIGHCHARTS_VERSION=11.4.0
ENV SERVER_ENABLE=true
ENV SERVER_SSL_ENABLE=true

RUN apk add --no-cache \
      chromium \
      nss \
      freetype \
      harfbuzz \
      ca-certificates \
      ttf-freefont \
      nodejs \
      yarn

ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
RUN npm install highcharts-export-server -g
COPY . .
EXPOSE 7801
ENTRYPOINT ["highcharts-export-server", "--enableServer", "1", "--port", "7801"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:15:05