HTTP GET [my-domain] works from browser, but not from curl

I have a virtual server rented from a hosting company. This server has a static IP, and a domain. SSL I have enabled using LetsEncrypt. I have installed using self hosting instructions. I have enabled all ports

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 4443/tcp
sudo ufw allow 10000/udp

BUT ONLY THIS NOT ENABLED (I am not using it)
sudo ufw allow 22/tcp

Now I want to connect to my jitsi video-bridge from any client (like Java Smack), it fails. I tried to open [my-domain]/http-bind from browser, it says 200 ok and a static page “it works…” appears. But when I tried from curl or windows powershell or java http request, using the same GET [my-domain]/http-bind it throws error as “connection forcibly closed” or “empty response” !! Can you give me some reason for that?

PS Even if requesting simply “[my-domain]” it does not connect.

PS Even from within the server’s terminal:

wget localhost:443 not working

If you followed the quick installation and did not change the default setup, you are likely using a multiplexing nginx proxy which routes requests either to jitsi’s webserver or to the turn server. The routing decision is made based on the ALPN extension of the TLS handshake and I assume that, while the browser correctly sets the ALPN field to http or h2, the clients you tested do not set the ALPN field at all. The nginx config,however, defaults to routing requests to the turn server if no or an unmatched value is set in the ALPN field. Therefore, your clients make an http request (withou ALPN) that is routed to the turn server which does not understand http and, in consequence, closes the connection.

As far as I know, curl does set the ALPN value. Do you see the same issue when using curl?
EDIT: Yes, just noticed you also complained about curl. So that indicates that the issue maybe something entirely different. Please check the nginx configs and logfiles and try to figure the reason why the connections are forcibly closed.

thanks for reply
Actually I found that my server is using HTTP2 not HTTP 1.1
So When I changed client connection to use http2 it worked and printing me “it works”

Can you tell me please how to force server to use HTTP 1.1 instead of http2 as it is simpler and most clients support it?

Here is config

# this is jitsi-meet nginx module configuration
# this forward all http traffic to the nginx virtual host port
# and the rest to the turn server

stream {
    upstream web {
    upstream turn {
    # since 1.13.10
    map $ssl_preread_alpn_protocols $upstream {
        ~\bh2\b         web;
        ~\bhttp/1\.     web;
        default         turn;

    server {
        listen 443;
        listen [::]:443;

        # since 1.11.5
        ssl_preread on;
        proxy_pass $upstream;

        # Increase buffer to serve video
        proxy_buffer_size 10m;

I have used port 4444 instead of 443. Port 4444 is always pointing me to the right path.