You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用http-server为代理返回的响应添加特定响应头?

为http-server代理响应添加自定义标记头

要给代理返回的响应添加区分用的响应头,你可以利用http-server内部依赖的http-proxy模块的事件监听功能,具体操作如下:

  1. 获取http-server实例内部的代理对象
  2. 监听代理的*proxyRes*事件,在该事件中为响应添加自定义头

修改后的完整代码如下:

const httpServer = require('http-server');
const server = httpServer.createServer({
    gzip: true,
    proxy: 'https://proxy.target.url',
    https: {
        key: './key.pem',
        cert: './cert.pem'
    },
});

// 获取服务器内部的proxy实例
const proxy = server.proxy;

// 监听代理响应完成事件,添加自定义标记头
proxy.on('proxyRes', (proxyRes, req, res) => {
    // 自定义响应头,标记此响应来自代理
    res.setHeader('X-Response-Source', 'proxy');
});

// 启动服务器(根据需求修改端口)
server.listen(8080, () => {
    console.log('Server running on https://localhost:8080');
});

关键说明

  • *proxyRes*事件会在代理服务器返回响应后、http-server将响应转发给客户端前触发,此时可以安全修改响应头
  • 自定义头的名称可以按需调整,比如改成X-Proxy-Origin这类更贴合你业务的命名
  • 本地直接返回的响应不会触发该事件,因此不会带有这个标记头,以此就能清晰区分响应来源

内容的提问来源于stack exchange,提问作者Mahesh Bansod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 16:40:41