我有一个 Angular Universal 应用程序(Angular 5.2.11)托管在 Heroku 中,在带有 express 的 Node 服务器中运行,并且我在所有 POST 路由中使用速率限制器检查 req.header('x-forwarded -for') 或 req.connection.remoteAddress 通过 ip 限制请求。
问题是,当通用应用程序发出这些请求时,使用的 ip 来自托管我的服务器的机器/网络。这可能会导致对不同用户的错误速率限制,因为我可能有 100 个用户同时请求我的主页,并且对于此页面中出现的每个 POST 请求,在 10 秒的窗口中的速率限制为 20 个请求。
有没有办法将原始请求 ip 传递给通用应用程序,并在请求 header 中使用它,使通用应用程序代表原始用户并防止那些错误的速率限制?
谢谢!
最佳答案
没有。
Angular Universal 是一个用于执行服务器端渲染的库。
代码在您的服务器上运行,而不是在浏览器上运行。
您不能从您的机器发出请求并让它看起来像是来自某些用户的浏览器。服务器会尝试响应错误的地方。
关于javascript - Angular Universal 在 POST 请求中使用我服务器的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53190383/