jika saya mengunjungi situs nginx saya dengan https itu berfungsi, tetapi dengan http itu mengunduh file yang disebut "download" (tanpa ekstensi apa pun), 57 byte dan membukanya dengan notepad dll hanya menunjukkan hal-hal omong kosong.
Inilah konfigurasi vhost saya:
server {
server_name www.domain.com domain.com;
listen 80;
return 301 https://domain.com$request_uri;
}
server {
server_name www.domain.com
listen 443 ssl;
/* SSL Stuff */
return 301 https://domain.com$request_uri;
}
server {
server_name domain.com;
index index.php index.html index.htm;
listen 443 ssl;
root /usr/share/nginx/domain.com;
/* SSL Stuff */
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\. {
deny all;
}
}
curl-v:
curl -v http:/domain.com *
Rebuilt URL to: http://domain.com/ *
Hostname was NOT found in DNS cache *
Trying 175.*.*.*... *
Connected to domain.com (175.*:*:*) port 80 (#0)
> GET / HTTP/1.1 > User-Agent: curl/7.38.0
> Host: domain.com > Accept: */*
> * Connection #0 to host domain.com left intact
▒▒
curl -v http://domain.com
Jawaban:
Saya menemukan apa yang menyebabkan masalah: Saya menggunakan
listen 80 http2;
konfigurasi vhost saya yang ternyata tidak berfungsi . Setelah saya menghapus http2 dari baris kata itu sekarang berfungsi normal lagi!sumber
listen 80 http2;
yang Anda katakan adalah masalahnya. Itu membuat ini mustahil bagi orang lain untuk mencari tahu.http2
dari satu situs non-SSL di server berfungsi!