curl nginx 作为代理服务器使用“-i”可以工作,但使用“-I”时会出现 404

curl nginx 作为代理服务器使用“-i”可以工作,但使用“-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 请求。

相关内容