根據官方的最新決定,他們選擇提前終止支援 Node.js 16,以與 OpenSSL 1.1.1 的終止支援日期相一致,即 2023 年 9 月 11 日。這個決策的原因是,當他們釋出 Node.js 16 時,原本計劃將其與 OpenSSL 3 一同釋出,但因時間安排的問題無法實現。因此,他們不得不使用 OpenSSL 1.1.1 作為 Node.js 16 的依賴版本,而 OpenSSL 1.1.1 的支援將在比原定的 Node.js 16 終止支援日期(2024 年 4 月)提前七個月結束。
在考慮了多個選項後,包括保持不變、提前終止支援、切換到 OpenSSL 3,以及使用 CentOS Stream 8 中的 OpenSSL 1.1.1 版本,他們最終選擇了最不冒風險的選項,即提前終止支援 Node.js 16,以確保在 OpenSSL 1.1.1 支援終止之前不會出現潛在的漏洞風險。
這個決策的目標是確保 Node.js 16 的使用者在安全性方面不會受到風險,同時盡量減少對應用程式的相容性問題。希望這個調整能夠為開發者和用戶提供更好的安全性和穩定性保證。
目前建議 Node.js 16 的使用者升級至 Node.js 18。
參考資料:https://nodejs.org/en/blog/announcements/nodejs16-eol