Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable HTTP/2 for HTTPS #1711

Merged
merged 2 commits into from
Dec 31, 2024
Merged

Enable HTTP/2 for HTTPS #1711

merged 2 commits into from
Dec 31, 2024

Conversation

florian-h05
Copy link
Contributor

Signed-off-by: Florian Hotze <dev@florianhotze.com>
@J-N-K
Copy link
Member

J-N-K commented Dec 28, 2024

Isn't that removing http/1.1 support for secure connections?

@florian-h05
Copy link
Contributor Author

Yes, but I see no harm in doing so:
HTTP/2 is widely supported by across major browsers, most of them have HTTP/2 support since 2015, see https://caniuse.com/http2.

@J-N-K
Copy link
Member

J-N-K commented Dec 28, 2024

I'm ok with that, but I would like to hear the opinion of other @openhab/distro-maintainers and @openhab/architecture-council

@florian-h05
Copy link
Contributor Author

Let's also ask @ghys for his opinion.

@holgerfriedrich
Copy link
Member

I had to keep http/1 and TLS 1.1 for quite a while longer than I wanted due to Android-based wall displays. But it is more than ten years since Android 4 and time to get rid of those devices anyway - if still in use. So 👍 from my side.

@florian-h05
Copy link
Contributor Author

If really needed, you could use nginx to get http/1 and TLS 1.1 available for them - but given the vulnerabilities of TLS 1.1 you could also consider to use plain HTTP ;-)

Signed-off-by: Florian Hotze <dev@florianhotze.com>
@florian-h05 florian-h05 requested a review from J-N-K December 28, 2024 16:51
@florian-h05 florian-h05 marked this pull request as ready for review December 28, 2024 17:36
@florian-h05 florian-h05 requested a review from a team as a code owner December 28, 2024 17:36
Copy link
Member

@J-N-K J-N-K left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Let's wait for more comments.

@J-N-K J-N-K added the enhancement An enhancement or new feature label Dec 28, 2024
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this change now that we don’t add them as compile time dependencies on core?

Copy link
Member

@J-N-K J-N-K Dec 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not. OTOH: You can easily try if you need it. If it comes up and works without, don't add it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just tested, it is not needed, the demo app still starts fine.
I have created #1712 to revert this change.

@rkoshak
Copy link
Contributor

rkoshak commented Dec 30, 2024

I think there will be much complaining but I also think this is somethjing that probably needs to be done anyway. Never underestimate the willingness of people to keep running stuff far beyond it's end of life.

I would request an update to the reverse proxy docs to correspond with this change, assuming end users need to adjust their nginx or apache configs to account for this.

@florian-h05
Copy link
Contributor Author

Never underestimate the willingness of people to keep running stuff far beyond it's end of life.

If one has a browser older than 2015 (where HTTP/2 was added to all major browsers) I wish them good luck to not get some malware while surfing …

@kaikreuzer
Copy link
Member

I guess 10 years after the general availability of a successor, it should be ok to drop HTTP/1.1+TLS1.1 - so no veto from me.

Copy link
Member

@holgerfriedrich holgerfriedrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

I managed to connect with HTTP2 and HTTP w. keepalive.
Let's see how it works out for the bigger audience.

@holgerfriedrich holgerfriedrich merged commit 6673c95 into openhab:main Dec 31, 2024
3 checks passed
@holgerfriedrich holgerfriedrich added this to the 5.0 milestone Dec 31, 2024
@florian-h05 florian-h05 deleted the ssl-h2 branch December 31, 2024 13:57
florian-h05 added a commit to florian-h05/openhab-distro that referenced this pull request Dec 31, 2024
See openhab#1711 (comment).
This change is not needed, the demo app starts fine without it.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
holgerfriedrich pushed a commit that referenced this pull request Dec 31, 2024
Signed-off-by: Florian Hotze <dev@florianhotze.com>
@ghys
Copy link
Member

ghys commented Jan 2, 2025

Let's also ask @ghys for his opinion.

Sorry I was AFK for the holidays but it's a good move IMO.
Would fix a lot of things although we'd still need to trust the self-signed TLS certificate on all clients for features like microphone, camera, web notifications etc. to work.

@openhab-bot
Copy link
Collaborator

This pull request has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/wget-and-sendhttpgetrequest-empty-response-differend/161321/6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An enhancement or new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants