Добрый день, коллеги!
Расскажите, удалось ли в итоге заставить работать конструкцию с
переменной из map'а в proxy_pass?
Или вопрос решился созданием большого количества вирт. хостов?
В данном случае интересно их максимальное количество в реально
функционирующей конфигурации - есть желание разрулить миллионы
доменов (именно по имени домена, без привязки к IP) по сотням
серверов, и хочется это сделать оптимально.
Даже если очень сильно увеличивать server_names_hash_max_size /
server_names_hash_bucket_size, при миллионах вирт. хостов никакой
памяти не хватает...
Tuesday, October 3, 2006, 7:11:44 AM, you wrote:
>>
>> Можно как-нибудь сделать чтобы map мог говорить порты для proxy_pass?
>>
>> Попробовал так, но ругается:
>>
>> ---------------------------
>> map $host $port {
>> hostnames;
>>
>> default 8000;
>> dom.ru 8000;
>>
>> sd.d1.ru 8010;
>> ssd.sd.d1.ru 8011;
>>
>> s2.ru 8020;
>> *.s2.ru 8021;
>> }
>>
>> ....
>>
>> location / {
>> proxy_pass http://127.0.0.1:$port/;
>> proxy_set_header Host $host;
>> }
>> ---------------------------
>>
>> ругается так: invalid port in upstream "127.0.0.1:$port/"
>>
>> Нужно именно по портам разбрасывать.
IS> default 127.0.0.1:8000;
IS> dom.ru 127.0.0.1:8000;
IS> sd.d1.ru 127.0.0.1:8010;
IS> ...
--
Best regards,
Dmitry V Krikov
mailto:unknown@xxxxxxxxxxxxx