-1

我正在尝试构建一个需要调用 API 的 Angular 2 通用应用程序

API 当前使用请求的标头来确定它是否是我们的客户群之一(我们是 ISP)。

这在客户端绝对可以正常工作,但是对于应用程序的节点端,它始终是服务器的 IP。

所以我想知道Angular Universal App(作为节点运行时)是否有办法查询Express(?)以将其从请求标头中提取出来?

4

1 回答 1

0

好的,所以我通过在 environment.ts 文件中添加一个 IP 变量,然后编辑我的 server.js 来实现这个“工作”

function ngApp(req: any, res: any) {
    environment.ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
    res.render('index', {
        req,
        res,
        ngModule: AppModule,
        preboot: false,
        baseUrl: '/',
        requestUrl: req.originalUrl,
        originUrl: req.hostname
    });
}

现在我的应用程序可以访问它,但是在 1 到 10 的范围内,你会说这有多脏?因为感觉很可怕。

于 2017-03-13T09:51:14.077 回答