Chrome 渲染器在 Azure 應用服務 Linux 上冷啟動失敗

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 定期更新 App Service Linux 環境使用的基礎映像。 這些更新可能會移除 Chrome 所需的共享庫,如 libnss3.so。 當這種情況發生時,IronPDF 的 LinuxAndDockerDependenciesAutoConfig 機制會嘗試在啟動時重新安裝所需的包。如果服務超時時間短於完成此安裝所需的時間,則在 Chrome 準備好之前程式會被切斷。

在以下環境中已確認此問題:

  • 影響的版本: IronPDF 2026.4.1
  • 未受影響的版本: IronPDF 2026.5.2
  • 託管: Azure App Service 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

設置 LinuxAndDockerDependenciesAutoConfigtrue 告訴 IronPDF 自動檢測和安裝缺少的 Linux 依賴項。 設置 ChromeGpuModeIronPdf.Engines.Chrome.ChromeGpuModes.Disabled 關閉 GPU 加速,這在 Azure 應用服務 Linux 環境中不可用。 啟用完全日誌記錄有助於捕捉安裝依賴項過程中的任何錯誤。

接下來,將 Azure App Service 啟動超時至少增加到 10 分鐘。 這樣可以給 IronPDF 足夠的時間在 Azure 基礎映像更新後於冷啟動時完成依賴項的重新安裝。 請參閱 Azure 部署指南,以獲得在 App Service 配置中調整啟動時間限制設置的說明。

解決方案2:升級到 IronPDF 2026.5.2 或更高版本

升級到 IronPDF 2026.5.2 或更高版本可解決此問題。 未受影響的版本在 Azure 基礎映像更新移除共享庫的情況下能夠處理此問題而不會導致冷啟動失敗。

重要此問題在 IronPDF 2026.5.2 中已解決。如果您使用該版本或更高版本,則不再需要解決方案 1 中的變通辦法。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,088,359 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。