curl nginxをプロキシサーバーとして「-i」で実行すると動作しますが、「-I」では404になります

curl nginxをプロキシサーバーとして「-i」で実行すると動作しますが、「-I」では404になります

次のように圧縮テストを行うために、ポート 3000 上の nodejs アプリへの proxy_server として nginx を作成しようとしています。

curl -I -H 'Accept-Encoding: gzip, deflate' http://localhost/json

私はこうします:

curl -I は404エラーを返す

そして、-iを付けて本文を表示してcurlすると

curl -i -H 'Accept-Encoding: gzip, deflate' http://localhost/json

私はこれを得た:

ステータス200

nginx.conf ファイル内:

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:3000;
}

ノードapp.js内

//..
app.get('/json',(req,res)=>{
    res.json({Hello:'JSON'})
});

そして、gzipをテストするためにテキストを送信すると、これは奇妙に思えます

app.get('/', (req,res)=>{
    res.end('lorem ipsum ........ 100(lorem ipsum long text) ');
});

コンテンツは削減されませんでしたが、明示的にコンテンツ タイプを追加すると、コンテンツ サイズが圧縮されました。

app.get('/', (req,res)=>{
    res.setHeader('Content-type','text/html');
    res.end('lorem ipsum ........ 100(lorem ipsum long text) ');
});

答え1

-I-iGET リクエストを行いながら HEAD リクエストを行います。

おそらく、アプリは GET リクエストにのみ応答します。

関連情報