localhost sent an invalid response. ERR_INVALID_HTTP_RESPONSE

Pubudu Jayasanka

I am working on enabling http2 in nginx docker. I am getting this error when I calling to localhost. My nginx configuration file as below.

server {
listen       2020 http2;
server_name  localhost;

#charset koi8-r;
#access_log  /var/log/nginx/host.access.log  main;

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
}

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#    deny  all;
#}
}

Http2 listen port is 2020. I have exposed it to 2020 when the container is started.

docker run -d --name nginx -p 80:80 -p 2020:2020 -v 
/home/pubudu/work/nginx/nginx-tms/config/conf.d:/etc/nginx/conf.d/:ro  
nginx:latest

This is the tutorial link: How To Set Up Nginx with HTTP/2 Support on Ubuntu 16.04

Do i need to use port 443 ? is it mandatory ? (I didn't use ssl for this)

If i curl this url, response like below.

Warning: Binary output can mess up your terminal. Use "--output -" to tell Warning: curl to output it to your terminal anyway, or consider "--output Warning: " to save to a file.

I know that the page is transferred as a binary in http2. I want get the nginx index page as a response.

your help will be really appreciated.

Pubudu Jayasanka

I have found the solution for this. It is needed to enable SSL in nginx in order to achieve http2. I tried it and it's working well. I found the answer from this link.

How To Set Up Nginx with HTTP/2 Support on Ubuntu 16.04

Now my config file as below.

server {
listen       443 ssl http2;
server_name  localhost;

ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt;
ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;


#charset koi8-r;
#access_log  /var/log/nginx/host.access.log  main;

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
}

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#    deny  all;
#}
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

localhost sent an invalid response

Localhost sent an invalid response for my angular app

ERR_INVALID_HTTP_RESPONSE on nodejs http2

ERR_INVALID_HTTP_RESPONSE when hitting client connection endpoint

ERR_INVALID_HTTP_RESPONSE using Angular 7 and ASP.Net Core 2.2 in Google Chrome browser

net::ERR_INVALID_HTTP_RESPONSE error after post request with Angular 7

When opening my web server the browser says ERR_INVALID_HTTP_RESPONSE

Express server causes error "This site can’t provide a secure connection localhost sent an invalid response"

gulp serve command open a browser with error: "This site can’t provide a secure connection localhost sent an invalid response"

Error message on Chrome devtools: GET http://localhost/sw.js net::ERR_INVALID_RESPONSE

Invalid Http Response for Gemfire?

NGINX Error: upstream sent invalid chunked response while reading upstream

Localhost throwing invalid response after running http-server for Angular PWA

XMLHttpRequest cannot load http://localhost:3000/players/1. Response for preflight has invalid HTTP status code 404

invalid json response body at http://localhost:8080/auth/admin/realms/RealmName/users reason: Unexpected end of JSON input

Django Invalid JSON Response

Getting invalid JSON response

AJAX: Invalid JSON response

Invalid JSON Response in Datatables

reCaptcha invalid json response

Invalid JSON Response

Flutter Http Request: Invalid response status code

HTTP response throw error gzip: invalid header

Http response code for invalid/missed host name

In HTTP 502, what is meant by an invalid response?

ClientException "Invalid response reason phrase" in http GET

Getting ERR_HTTP_HEADERS_SENT error when sending response

The JSON sent by Firebase is invalid

Custom response header not sent