LINUX.ORG.RU

История изменений

Исправление fractaler, (текущая версия) :

Больше самому себе отвечаю, вдруг на будущее пригодится. Решение здесь:
https://stackoverflow.com/questions/41493170/nginx-forward-requests-to-anothe...

Это была одна из первых ссылок, которые я нашёл по теме. Но без опыта понять здесь всё не просто. Я даже не сразу поверил, что это именно то, что мне нужно.

Однако, всё равно спасибо. Мысль о том, что разница в ситуации не так уж велика, заставила меня плотнее взяться именно за этот вариант.

Добавлю свои комментарии к оригиналу:

http {
  # resolver 8.8.8.8; # Needed if you use a hostname for the proxy  # Не знаю, не проверил пока. Думаю, проблем с этим не возникнет.
  server_name ~(?<subdomain>.+)\.domain\.com$; # Просто имя сервера. Практически ни на что не влияет. Можно писать localhost.lan

  server {
    listen 80; 

    location / {
      proxy_redirect off;
      proxy_set_header Host $subdomain;# Ничего не меняем, переменные оставляем как переменные.
      proxy_set_header X-Forwarded-Host $http_host; # Ничего не меняем, переменные оставляем как переменные.
      proxy_pass "http://X.X.X.X:8080$request_uri"; # Прописываем IP и порт второго прокси. Что делать, если прокси просит авторизацию -- не знаю. Например, пинать админа прокси, чтобы сделал для вашего хоста исключение.
    }
  }
}

Если кто-то знает, как можно реализовать авторизацию на промежуточном прокси, буду рад это узнать. В Гугле не нашёл.

Исходная версия fractaler, :

Больше самому себе отвечаю, вдруг на будущее пригодится. Решение здесь:
https://stackoverflow.com/questions/41493170/nginx-forward-requests-to-anothe...

Это была одна из первых ссылок, которые я нашёл по теме. Но без опыта понять здесь всё не просто. Я даже не сразу поверил, что это именно то, что мне нужно.

Однако, всё равно спасибо. Мысль о том, что разница в ситуации не так уж велика, заставила меня плотнее взяться именно за этот вариант.

Добавлю свои комментарии к оригиналу:

http {
  # resolver 8.8.8.8; # Needed if you use a hostname for the proxy  # Не знаю, не проверил пока. Думаю, проблем с этим не возникнет.
  server_name ~(?<subdomain>.+)\.domain\.com$; # Просто имя сервера. Практически ни на что не влияет.

  server {
    listen 80; 

    location / {
      proxy_redirect off;
      proxy_set_header Host $subdomain;# Ничего не меняем, переменные оставляем как переменные.
      proxy_set_header X-Forwarded-Host $http_host; # Ничего не меняем, переменные оставляем как переменные.
      proxy_pass "http://X.X.X.X:8080$request_uri"; # Прописываем IP и порт второго прокси. Что делать, если прокси просит авторизацию -- не знаю. Например, пинать админа прокси, чтобы сделал для вашего хоста исключение.
    }
  }
}

Если кто-то знает, как можно реализовать авторизацию на промежуточном прокси, буду рад это узнать. В Гугле не нашёл.