Nginx HTTPが機能しない-「ダウンロード」というファイルをダウンロードする


11

httpsでnginxサイトにアクセスすると機能しますが、httpでは「download」というファイルをダウンロードし(拡張子はまったくありません)、57バイトでメモ帳などで開くと、意味不明な内容が表示されます。

これが私のvhost設定です:

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 
▒▒

この設定はOKです。nginxを再構成したか、ファイアウォールを構成したか、その他何かを確認してください
Alexey Ten

また、確認してくださいcurl -v http://domain.com
アレクセイテン

返信ありがとうございます。私は何度か再起動しました(構成の一部を変更しようとしましたが、何の助けもありませんでした)、ファイアウォールも大丈夫です。curlで確認すると、奇妙な応答が返されます。▒▒これだけ-httpsのようにソースコードが表示されません。
rzmpl 2016年

phpfpmが稼働中で、ソケットが/run/php/php7.0-fpm.sockに存在している必要があります。
Farhan、2016年

します。PHPは動作します-PHPの問題ではないと思います。phpであるかどうかに関係なく、HTTPS上のすべてが機能します。しかし、http://またはドメインのみ(この場合はhttpsにリダイレクトする必要があります)と入力すると、「ダウンロード」という57バイトの小さなファイルがダウンロードされます。Nginxerror.logにも何も表示されません。
rzmpl 2016年

回答:


12

私は問題の原因を見つけました:私はlisten 80 http2;どうやら動作しない私のvhost設定で使用していました。上記の行からhttp2を削除した後、再び正常に動作します!


もしそれがあなたの質問にあったならば、これは人々が見つけるのが簡単だっただろう。次に質問するときに重要なことを省略してはいけません。
マイケルハンプトン

何も省略していません。事前に知っておくにはどうすればいいですか?私が知っているかどうか尋ねる必要はなかったでしょう。しかし、何でも、私はそれを整理しました、そしてそれは重要です。
rzmpl 2016年

3
listen 80 http2;問題であると言っている構成のどの部分も省略しました。そのため、他の誰もこれを理解することは不可能でした。
マイケルハンプトン

1
あなたがこの質問を投稿し、あなたの解決策をフォローしてくれてうれしい!私はこれに遭遇したばかりで、一見ランダムに見えるファイルのダウンロードの原因が何なのかわかりませんでした。http2サーバー上の1つの非SSLサイトからの削除が機能しました!
グラハムスワン

私はこれをどこでも見ました、ありがとう!これが検出されたときにNGiNXが構成警告をスローするのは素晴らしいことです。
上昇
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.