Технология, которую вы описываете, называется "обратный прокси" (reverse proxy). Этот сервер принимает запросы от клиентов и пересылает их на другой сервер, скрывая его IP-адрес. В вашем случае сервер Б будет выступать в роли обратного прокси для сервера А.
Одним из самых популярных программных решений для настройки обратного прокси является Nginx. Ниже приведены шаги для настройки Nginx как обратного прокси на сервере Б.
### Шаг 1: Установка Nginx
Если Nginx еще не установлен на сервере Б, вы можете установить его с помощью следующей команды:
```bash
sudo apt update
sudo apt install nginx
```
### Шаг 2: Настройка Nginx
После установки Nginx вам нужно настроить его как обратный прокси. Для этого вам нужно отредактировать конфигурационный файл Nginx.
1. Откройте файл конфигурации Nginx:
```bash
sudo nano /etc/nginx/sites-available/default
```
2. Измените его содержимое, добавив конфигурацию для обратного прокси. Пример простой конфигурации может выглядеть следующим образом:
```nginx
server {
listen 80; # Порт, на который будут поступать запросы
location / {
proxy_pass http://<IP_адрес_сервера_A>; # Укажите IP-адрес сервера А
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
Замените `<IP_адрес_сервера_A>` на реальный IP-адрес вашего сервера А.
### Шаг 3: Проверка конфигурации и перезапуск Nginx
После внесения изменений в конфигурацию, нужно проверить, все ли правильно настроено:
```bash
sudo nginx -t
```
Если тест прошел успешно, перезапустите Nginx, чтобы применить изменения:
```bash
sudo systemctl restart nginx
```
### Шаг 4: Настройка брандмауэра (по желанию)
Если у вас есть брандмауэр, убедитесь, что он пропускает входящие HTTP-запросы на сервер Б (порт 80 или 443, если вы используете HTTPS).
### Примечание о HTTPS
Если вы хотите настроить HTTPS, вам понадобится SSL-сертификат. Вы можете использовать Let's Encrypt для получения бесплатного сертификата. Пошаговые инструкции по настройке Let's Encrypt можно найти на официальном сайте или в документации Nginx.
Теперь сервер Б будет принимать все входящие HTTP-запросы и пересылать их на сервер А, при этом скрывая его IP-адрес.