在Azure应用服务Linux上的冷启动中Chrome渲染器失败

This article was translated from English: Does it need improvement?
Translated
View the article in English

当Azure更新底层Oryx/Ubuntu基础镜像时,会移除IronPDF的Chrome渲染器所依赖的共享库,这一问题会在Azure应用服务Linux上出现。 在下一次冷启动时,IronPDF必须从头重新安装这些原生的Chrome依赖,这一过程可能需要长达5分钟。 如果应用程序启动超时设置过短,安装会被中断,渲染器将无法运行。

错误通常显示为:

libnss3.so: cannot open shared object file: No such file or directory

Azure会定期更新应用服务Linux环境所使用的基础镜像。 这些更新可以删除Chrome所需的共享库,例如libnss3.so。 当这种情况发生时,IronPDF的LinuxAndDockerDependenciesAutoConfig机制会尝试在启动时重新安装所需的软件包。如果服务超时时间短于完成此安装所需的时间,进程将在Chrome准备好之前被中断。

在以下环境中已确认此问题:

  • 受影响的版本:IronPDF 2026.4.1
  • 未受影响的版本:IronPDF 2026.5.2
  • 托管:Azure应用服务P0v3计划,挪威东部区域
  • 运行时:.NET 10

解决方案

解决方案1:应用初始化设置并增加启动超时时间

在任何PDF渲染调用之前,在应用启动时添加以下初始化代码:

Logger.LoggingMode = Logger.LoggingModes.All;
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
Installation.Initialize();
Logger.LoggingMode = Logger.LoggingModes.All;
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
Installation.Initialize();
Option Strict On



Logger.LoggingMode = Logger.LoggingModes.All
Installation.LinuxAndDockerDependenciesAutoConfig = True
Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
Installation.Initialize()
$vbLabelText   $csharpLabel

true告知IronPDF自动检测并安装缺失的Linux依赖项。 将IronPdf.Engines.Chrome.ChromeGpuModes.Disabled关闭GPU加速,因为在Azure App Service Linux环境中不可用。 启用完整日志记录有助于捕获在依赖项安装步骤中产生的任何错误。

接下来,将Azure应用服务的启动超时增加至至少10分钟。 这给IronPDF足够的时间在Azure基础镜像更新后的冷启动期间完成依赖项重新安装。 请参阅Azure部署指南以获取有关在应用服务配置中调整启动时间限制设置的说明。

解决方案2:升级到IronPDF 2026.5.2或更高版本

升级到IronPDF 2026.5.2或更高版本可以解决此问题。 未受影响的版本能处理Azure基础镜像更新移除共享库的情况,而不会引发冷启动故障。

重要此问题已在IronPDF 2026.5.2中解决。如果您使用的是该版本或更高版本,解决方案1中的变通措施不再需要。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,088,359 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。