Alexander Simakov
April 17, 2017 07:38AM
Добрый день!

Подскажите, пожалуйста, как наиболее оптимальным
способом решить следующую задачу:

NGINX используется качестве прокси для входящих
из интернета HTTPS и WebSocket-соединений.

Запросы приходят на домены вида NNNN.example.com,
где NNNN - некое число. Для каждого NNNN по очень
простому алгоритму вычисляется внутренний IP-адрес
на который нужно пробросить данное соединение.

Вот пример конфигурации:

==8<==
server {
listen 443;
server_name NNNN.example.com;

location / {
proxy_pass http://IP_ADDR_FOR_NNNN/;
}

location /ws/ {
proxy_pass http://IP_ADDR_FOR_NNNN/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
==8<==

Сейчас я вынужден программно генерировать большие
статические файлы-портянки в которых порядка 1000
таких секций.

Подскажите, можно ли в данном примере как-то заскриптовать
логику получения IP-адреса по NNNN и иметь один компактный
и универсальный файл? Или, может, как-то предвычислить для
NGINX хеш { NNNN -> IP_ADDR_FOR_NNNN } и использовать его
в конфиге?

Спасибо.

С уважением,
Александр Симаков
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Можно ли заскриптовать несложную логику прямо в конфиге?

Alexander Simakov April 17, 2017 07:38AM

Re: Можно ли заскриптовать несложную логику прямо в конфиге?

kemko April 17, 2017 08:50AM

Re: Можно ли заскриптовать несложную логику прямо в конфиге?

Alexander Simakov April 17, 2017 09:20AM

Re: Можно ли заскриптовать несложную логику прямо в конфиге?

Serge Negodyuck April 28, 2017 04:18PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 177
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready