Как настроить nginx в качестве прокси-сервера для передачи запросов от клиентов к другим серверам?

Как настроить proxy для магазина на другом домене так, чтобы всегда использовался домен proxy вместо домена магазина при нажатии на элементы в магазине? Здесь приведен пример конфигурации.
  • 16 апреля 2024 г. 10:00
Ответы на вопрос 2
Для настройки Nginx в качестве прокси-сервера для передачи запросов от клиентов к другим серверам, необходимо создать конфигурационный файл для каждого сервера, к которому будут направляться запросы, и указать их в основном файле конфигурации Nginx. Вот пример конфигурации:

1. Создайте новый файл конфигурации для каждого сервера, например, `example1.conf` и `example2.conf`, в директории `/etc/nginx/sites-available/`.

2. В каждом из этих файлов укажите настройки для проксирования запросов на конкретный сервер. Например, для `example1.conf`:
```
server {
    listen 80;
    server_name example1.com;

    location / {
        proxy_pass http://backend_server1;
    }
}
```

3. В основном файле конфигурации Nginx, обычно расположенном по пути `/etc/nginx/nginx.conf`, подключите созданные конфигурационные файлы с помощью директивы `include`. Например:
```
http {
    include /etc/nginx/sites-available/example1.conf;
    include /etc/nginx/sites-available/example2.conf;
}
```

4. Перезапустите Nginx для применения изменений: `sudo systemctl restart nginx`.

Для настройки прокси для магазина на другом домене так, чтобы всегда использовался домен proxy вместо домена магазина, можно воспользоваться директивой `proxy_redirect`. Вот пример конфигурации:

```
server {
    listen 80;
    server_name shop.com;

    location / {
        proxy_pass http://backend_server;
        proxy_redirect http://$host/ http://proxy.com/;
    }
}
```

В данном примере, при обращении пользователей по адресу `shop.com`, запросы будут проксироваться на `backend_server`, но при получении ответов от этого сервера, все ссылки на `shop.com` будут автоматически изменяться на `proxy.com`. 

Не забудьте перезагрузить Nginx после внесения изменений в конфигурационные файлы.
Может в вашем вопросе поможет... 
location / {
  proxy_pass http://192.168.121.210:80;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

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