我在Heroku中托管了一个Angular Universal应用程序(Angular 5.2.11),该服务器在带有express的Node服务器上运行,并且我在所有POST路由中使用了速率限制器来检查req.header('x-forwarded -for')或req.connection.remoteAddress以限制ip请求。
问题在于,当这些请求由通用应用发出时,所使用的ip来自托管我的服务器的机器/网络密码。这可能导致对不同用户的速率限制错误,因为我可能有100个用户同时请求我的主页,并且在此页面中存在的每个POST请求在10秒的窗口中限制20个请求的速率。 / p>
是否有任何方法可以将原始请求ip传递给Universal App,并在请求标头中使用它,从而使Universal App代表原始用户运行,并防止这些错误的速率限制?
谢谢!
答案 0 :(得分:1)
否。
Angular Universal是用于执行服务器端渲染的库。
代码在您的服务器上运行,而不是在浏览器上运行。
您无法从计算机发出请求,并使其看起来像是来自某些用户的浏览器。服务器将尝试响应错误的位置。