Unable to download and install plugins

Hello,

Can someone please help me with an issue I’m currently facing? I have installed Jenkins (Version 2.528.1) on a Windows Server 2022 instance in Azure. I have whitelisted the jenkins URLs in the Azure firewall to allow outbound traffic.

I am able to run test-netconnection from Jenkins controller successfully.

PS C:\Users\skatta> Test-NetConnection -ComputerName updates.jenkins.io -Port 443

ComputerName : updates.jenkins.io
RemoteAddress : 128.24.70.119
RemotePort : 443
InterfaceAlias : Ethernet
SourceAddress : xx.xx.xx.xx
TcpTestSucceeded : True

However, when I try to install plugins, I encounter the error below. Any help in resolving this issue would be greatly appreciated.

Thank you.

2025-10-29 16:56:23.237+0000 [id=47] INFO hudson.util.Retrier#start: The attempt #1 to do the action check updates server failed with an allowed exception:
java.io.EOFException: SSL peer shut down incorrectly
at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:483)
at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472)
at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)
Caused: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1709)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1508)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2887)
at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2796)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1927)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at hudson.model.DownloadService.loadJSON(DownloadService.java:122)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:240)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:235)
at hudson.PluginManager.checkUpdatesServer(PluginManager.java:2177)
at hudson.util.Retrier.start(Retrier.java:62)
at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:2148)
at jenkins.DailyCheck.execute(DailyCheck.java:93)
at hudson.model.AsyncPeriodicWork.lambda$doRun$0(AsyncPeriodicWork.java:110)
at java.base/java.lang.Thread.run(Thread.java:833)
2025-10-29 16:56:23.237+0000 [id=47] INFO hudson.util.Retrier#start: Calling the listener of the allowed exception ‘Remote host terminated the handshake’ at the attempt #1 to do the action check updates server
2025-10-29 16:56:23.237+0000 [id=47] INFO hudson.util.Retrier#start: Attempted the action check updates server for 1 time(s) with no success
2025-10-29 16:56:23.237+0000 [id=47] SEVERE hudson.PluginManager#doCheckUpdatesServer: Error checking update sites for 1 attempt(s). Last exception was: SSLHandshakeException: Remote host terminated the handshake
2025-10-29 16:56:23.253+0000 [id=31] WARNING hudson.model.UpdateCenter#updateDefaultSite: Upgrading Jenkins. Failed to update the default Update Site ‘default’. Plugin upgrades may fail.
java.io.EOFException: SSL peer shut down incorrectly
at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:483)
at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472)
at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)
Caused: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1709)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1508)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2887)
at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2796)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1927)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at hudson.model.DownloadService.loadJSON(DownloadService.java:122)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:240)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:235)
at hudson.model.UpdateCenter.updateDefaultSite(UpdateCenter.java:2906)
at jenkins.install.SetupWizard.init(SetupWizard.java:208)
at jenkins.install.InstallState$InitialSecuritySetup.initializeState(InstallState.java:182)
at jenkins.model.Jenkins.setInstallState(Jenkins.java:1124)
at jenkins.install.InstallUtil.proceedToNextStateFrom(InstallUtil.java:98)
at jenkins.install.InstallState$Unknown.initializeState(InstallState.java:87)
at jenkins.model.Jenkins$16.run(Jenkins.java:3570)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:175)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:304)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1151)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2025-10-29 16:56:23.253+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization
2025-10-29 16:56:23.284+0000 [id=23] INFO hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running

Looks like the same thing as in Windows Based Jenkins just started having certificate problems while attempting to run updates.

Sounds like a consequence of enforcing TLS 1.2: can you report the same things as I put in Windows Based Jenkins just started having certificate problems while attempting to run updates - #2 by dduportal please?