Angular Universal использует IP-адрес моего сервера в запросах POST

У меня есть универсальное приложение Angular (Angular 5.2.11), размещенное в Heroku, работающее на сервере Node с экспрессом, и я использую ограничители скорости во всех моих маршрутах POST, проверяя IP-адрес запроса в req.header ('x-forwarded-for' ) или req.connection.remoteAddress для ограничения запросов по ip.

Проблема в том, что когда эти запросы выполняются универсальным приложением, используется IP-адрес компьютера / сетевого слова, на котором размещен мой сервер. Это может привести к неправильному ограничению скорости для разных пользователей, поскольку у меня может быть 100 пользователей, запрашивающих мою домашнюю страницу одновременно, и ограничение скорости в 20 запросов в окне продолжительностью 10 секунд для каждого запроса POST, присутствующего на этой странице.

Есть ли способ передать исходный ip-адрес запроса в универсальное приложение и использовать его в заголовках запросов, чтобы универсальное приложение действовало от имени исходного пользователя и предотвращало эти неправильные ограничения скорости?

Спасибо!

Вам нужно будет внести IP-адрес вашего сервера в белый список.

Raghav Garg 29.01.2019 16:07

Я использую это решение, и оно отлично работает! Спасибо!

Felipe Micali 29.01.2019 20:17
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
392
1

Ответы 1

Нет.

Angular Universal - это библиотека для выполнения рендеринга на стороне сервера.

Код работает на вашем сервере, а не в браузере.

Вы не можете отправить запрос со своего компьютера и сделать так, чтобы он выглядел как исходящий из браузера какого-либо пользователя. Сервер будет пытаться ответить не в том месте.

Хорошо, спасибо за отзыв! И в этом случае, что я мог сделать, чтобы решить проблему ограничения скорости? Все мои запросы, которые извлекают данные из моей БД, защищены ограничителями скорости, чтобы предотвратить DOS и другие типы атак, поэтому об использовании этих ограничителей не может быть и речи.

Felipe Micali 07.11.2018 14:36

Должен ли я занести IP-адрес моего сервера в белый список в ограничителях скорости?

Felipe Micali 07.11.2018 15:51

Другие вопросы по теме