帶有“-i”的curl nginx作為代理伺服器可以工作,但是帶有“-I”404

帶有“-i”的curl nginx作為代理伺服器可以工作,但是帶有“-I”404

我正在嘗試將 nginx 作為連接埠 3000 上的 nodejs 應用程式的代理伺服器,以進行壓縮測試,執行此操作時:

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

我去這個:

curl -I 給出 404 錯誤

當使用 -i 捲曲它並顯示主體時

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發出 HEAD 請求,同時-i發出 GET 請求。

您的應用程式很可能只會回應 GET 請求。

相關內容