Nginx

curl nginx 作為帶有“-i”的代理伺服器,但使用“-I”404

  • December 12, 2020

我正在嘗試將 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) ');
});

-I``-i在發出 GET 請求時發出 HEAD請求。

您的應用很可能只響應 GET 請求。

引用自:https://serverfault.com/questions/1045410