我正在尝试构建一个需要调用 API 的 Angular 2 通用应用程序
API 当前使用请求的标头来确定它是否是我们的客户群之一(我们是 ISP)。
这在客户端绝对可以正常工作,但是对于应用程序的节点端,它始终是服务器的 IP。
所以我想知道Angular Universal App(作为节点运行时)是否有办法查询Express(?)以将其从请求标头中提取出来?
我正在尝试构建一个需要调用 API 的 Angular 2 通用应用程序
API 当前使用请求的标头来确定它是否是我们的客户群之一(我们是 ISP)。
这在客户端绝对可以正常工作,但是对于应用程序的节点端,它始终是服务器的 IP。
所以我想知道Angular Universal App(作为节点运行时)是否有办法查询Express(?)以将其从请求标头中提取出来?
好的,所以我通过在 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 的范围内,你会说这有多脏?因为感觉很可怕。