HTTPS works, HTTP does not

I use NGINX 1.5.12 on Ubuntu 13.10 and HTTPS works fine and the pages are served (both HHVM and PHP5-FPM) trying to load the website in HTTP fails and WGET returns this:

HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
Length: unspecified
Saving to: ‘index.html’

    [                                <=>    ] 44          --.-K/s   in 29s     

2014-04-05 11:55:37 (1.49 B/s) - ‘index.html’ saved [44]

and cURL returns this:

?d???? ???

while running cURL on HTTPS i get this:

HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: HHVM/3.1.0-dev+2014.04.04

My config

nginx.conf

user www-data www-data;
pid /var/run/nginx.pid;
worker_rlimit_nofile 100000;

events {
    worker_connections  4096;
    multi_accept on;
}

http {
    default_type application/octet-stream;

    access_log off;
    error_log  /var/log/nginx/error.log crit;

    sendfile on;
    tcp_nopush on;

    keepalive_timeout 20;
    client_header_timeout 20;
    client_body_timeout 20;
    reset_timedout_connection on;
    send_timeout 20;

    types_hash_max_size 2048;

    gzip on;
    gzip_disable "msie6";
    gzip_proxied any;
    gzip_min_length 256;
    gzip_comp_level 4;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;

    server_names_hash_bucket_size 128;

    include mime.conf;
    charset UTF-8;

    open_file_cache max=100000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

    server_tokens off;

    include proxy.conf;
    include fcgi.conf;

    include conf.d/*.conf;
    include /etc/nginx.custom.d/*.conf;
}

conf.d/example-com.conf

server {
    listen *:80;
    listen *:443 ssl;
    ssl_certificate /srv/example.com/example.com.unified.crt;
    ssl_certificate_key /srv/example.com/example.com.key;
    server_name example.com www.example.com;

    access_log /var/log/nginx/example-com.access.log;
    error_log /var/log/nginx/example-com.error.log;

    root /srv/example.com/root;
    index index.html index.htm index.php;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;



    location  / {

        try_files $uri $uri/ /index.php?$query_string;

    }


    location ~ \.php$ {

        gzip off;

fastcgi_keep_conn on;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fcgi.conf;


    }


    location ^~ \.(jpg|jpeg|gif|css|png|js|ico|html)$ {

        access_log off;



    }

}

I dont get why HTTPS works and HTTP wont?!

tried to change application/octet-stream to text/html but no difference at all.


I had the same issue. Check your listen directive for port 80. It must not contain 'spdy' or 'http2'