Перенаправлять пользователя на интернет-провайдера вместо серверов, с которых я звоню

Перенаправлять пользователя на интернет-провайдера вместо серверов, с которых я звоню

Я использую сервер Node Express с Axios и запросом API-вызовов для моего бэкэнда для проксирования запросов, но я хотел бы отправлять данные пользователей вместо серверов.

Например:

Мой веб-сайт -> пользователь нажимает на картинку -> get вызывается на моем сервере A -> сервер вызывает другой сервер B для извлечения данных.

Теперь сервер B будет видеть информацию о сервере A, такую ​​как IP, гео, интернет-провайдер и т. д. Как мне переслать такие данные пользователя на сервер A, чтобы сервер B думал, что пользователь вызвал этот сервер напрямую с веб-сайта?

решение1

Ну, это первый ключ к пониманию того, что большая часть информации, которую вы имеете в виду под «geo» и «isp», получена из самого IP-адреса; поэтому то, что вам нужно сделать, — это переслать ее.

Вы не включили много информации о вашей установке, однако я включил два возможных варианта установки.

1. Обратный прокси-сервер

Сервер A — это обратный прокси-сервер, который перенаправляет все запросы на сервер B, используя nginx— если это так, то мы бы использовали , Forwarded headerкоторый очень хорошо описанздесь.

Пример фрагмента кода:

  location / {
    proxy_set_header  Host $host;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Forwarded-Proto https;
    proxy_set_header  X-Forwarded-For $remote_addr;
    proxy_set_header  X-Forwarded-Host $remote_addr;
    proxy_pass        http://server_b;
  }

2. Уровень приложений На сервере A размещен веб-сайт (или другое приложение), который отправляет запрос в бэкэнд на сервер B.

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

Простой пример: если вы используете PHP на сервере A (и эта форма была отправлена ​​на сервер A перед передачей на сервер B): <input type="hidden" id="visitorIP" name="visitorIP" value="<?php $_SERVER['REMOTE_ADDR']?>">

Связанный контент