HTTP/2 support in IIS and WSE
I’ve recently been trying to get HTTP/2 connections working on my server. Keep in mind this install originally started out as 2016 with the essentials role and was later in-place upgraded to 2022 a couple of years ago along the WSEE installer.
Long story short, there were a couple of registry keys missing in Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
After adding the DWORD keys “EnableHttp2Tls” and “EnableHttp2Cleartext” (No quotations), each with a hexidecimal value of 1 and rebooting the server, logs are now showing client connections to IIS as http/2 rather than http/1.1 where applicable.
Everything is working as intended including RWA, Remote Desktop Gateway, RemoteApp, etc. I’m also reverse proxying several applications through IIS on my server with ARR and Url rewrite, so IIS is effectively acting as an http/2 gateway for other web applications on my server(which is what sent me down this rabbit hole in the first place!)
This is something that is worth checking on your own server. As always, your mileage may vary when enabling these settings, or performing any registry tweaks. You should definitely have a current backup of your server and data before changing anything in the registry you’re not certain of.
I’m not sure whether these registry keys are present on a fresh, fully patched 2016-2025 IIS install, but they definitely weren’t on my machine, nor were they ever added at any point in the last several years by updates. Perhaps you can shed some light on this Mike?
Assuming http/2 should be enabled by default for new IIS installs, could a check be put in place on the WSEE installer(perhaps the RemoteApp and WorkFolders installers too) for the necessary registry keys to enable it? (if not present then create them).
If http/2 isn’t enabled by default on a fresh, fully patched IIS install, and not something you feel would be appropriate to change via the WSEE installer, then perhaps an additional option could be added to enable or disable it along with the other IIS settings in the “Remote Desktop Session Settings” area of WSE Remoteapp, or a similar solution. From my understanding connections should just fallback to http/1.1 when the client doesn’t support http/2, but I suppose there may be compatibility reasons/situations where you don’t want http/2 enabled on the server at all.
- homeserverdude asked 3 months ago
- You must log in to post comments.
Thanks for sharing the info on how you’ve enabled HTTP/2 on your Essentials server. FYI, those two registry settings do not exist on any of our Windows Server 2022 or 2025 installs (with all of the latest Windows Updates in place).
Apparently Microsoft hasn’t enabled HTTP/2 by default on any of their currently released versions of Windows Server, and so if you want to use it, then you will need to manually enable it. I’m sure they have a (compatibility) reason for doing that, and so my stance (at least with the WSEE Installer anyway) is that if Microsoft wanted HTTP/2 enabled in 2022, 2025, etc., then they would enable it by default (i.e., out-of-the-box, via a Windows Update, etc.), and so I have no plans on having the WSEE Installer enable it for you at this time.
That being said… I have had this on my “to do” list for WSE RemoteApp (when running under 2022 or 2025) for many years now, but just haven’t gotten around to implementing the feature as of yet (as an optional setting within the “Remote Desktop Session Settings” task). Mostly because the “Security” tab of that task is already overly crowded/complicated, and because there’s only about 1.5 years of life left in WSE RemoteApp, and so I’m not sure doing so would be worth the effort at this point.
Lastly, I haven’t seen/read about any “significant” benefit to enabling HTTP/2 (as far as Essentials goes anyway). Can you notice anything on your end now that you have it enabled (outside of for your other, non-Essentials-related, web apps)?
- Mike answered 3 months ago
- last edited 3 months ago
- You must log in to post comments.
While it’s hard to provide any evidence of actualy improvement, the remote web access website and RD Web client both feel a bit more responsive when connecting remotely. I regularly use both outside of the house. I’ll admit this could just be placebo or related to other factors, but it’s just what I’ve noticed since I use both pretty extensively when away from home.
- homeserverdude answered 2 months ago
- You must log in to post comments.