Решено: nginx + geoip

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

alsh1
Сообщения: 22
ОС: Debian Squeeze

Решено: nginx + geoip

Сообщение alsh1 »

добрый день всем
имеется centos 5.4 на нем развернут nginx с поддержкой geoip. задача настроить nginx так чтобы он распределял http запросы по серверам с апач в зависимости от региона, но это просто и реализовано. важно чтобы при падении web допустим в зоне RU nginx перенаправлял запрос на другой сервак
Спасибо сказали:
alsh1
Сообщения: 22
ОС: Debian Squeeze

Re: Решено: nginx + geoip

Сообщение alsh1 »

немного изменю вопрос как в конфиге nginx проверить что host доступен?
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Решено: nginx + geoip

Сообщение neol »

Код: Выделить всё

http {
upstream backup {
  server 192.168.1.1:80/;
}

server {
  location /{
# много строк конфига
    error_page 502 @backup;
  }

  location @backup {
    proxy_pass http://backup;
  }
}
}

Что-то типа того. Если фокус не удастся, поинтересуйтесь лучше в рассылке nginx.
Спасибо сказали:
alsh1
Сообщения: 22
ОС: Debian Squeeze

Re: Решено: nginx + geoip

Сообщение alsh1 »

спасибо. самой задачи нашел решение немного другим способом. щас уперся в проблему дефолтной зоны, те необходимо запросы которые не попадают в описаные upstream перенапрвлять в на определнный сервер. вот конфа:
geo $geo {
default default;
include /usr/local/nginx/conf/geo.conf;
}
upstream default {
server server.com;
}
upstream RU.server {
server.ru
}
server {
listen 1.1.1.1:80;
server_name server.org;
error_log logs/site_err.log info;
access_log logs/site_acc.log;
location / {

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://$geo.server$request_uri;
}
}
Спасибо сказали:
alsh1
Сообщения: 22
ОС: Debian Squeeze

Re: Решено: nginx + geoip

Сообщение alsh1 »

В логах
[error] 12573#0: *1 no resolver defined to resolve RU.server, client: xxx.xxx.xxx.xxx, server: server.org, request: "GET / HTTP/1.1", host: "server.org,"
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Решено: nginx + geoip

Сообщение neol »

alsh1 писал(а):
18.03.2010 20:55
спасибо. самой задачи нашел решение немного другим способом.

Ну так напишите каким, может кому пригодиться.

alsh1 писал(а):
18.03.2010 20:55
upstream RU.server {
server.ru
}

Может таки там должно быть

Код: Выделить всё

upstream RU.server {
  server server.ru;
}

?
Спасибо сказали:
alsh1
Сообщения: 22
ОС: Debian Squeeze

Re: Решено: nginx + geoip

Сообщение alsh1 »

напишу попозже как отлажу конфигурацию.
upstream RU.server {
server server.ru;
} - это понятно.
щас "завис" над проблемой проверки ip если его нет в описанной зоне нужно чтобы запорс шел в дефолтную зону. чтобы неплодить кучу upstream для каждой страны.
Спасибо сказали:
Аватара пользователя
broom
Бывший модератор
Сообщения: 1629
Статус: мизантроп.ка
ОС: Gentoo

Re: Решено: nginx + geoip

Сообщение broom »

iУведомление от модератора
По-моему, вам место в Администрировании.
but in the darkness, behind your smile, you scream... © Dio
Спасибо сказали:
alsh1
Сообщения: 22
ОС: Debian Squeeze

Re: Решено: nginx + geoip

Сообщение alsh1 »

В итоге пришел у след решению: создал на основе сущесвуещего geo.conf (взят с maximind) из него распарсил нужные зоны. и в конфиге сделал инклюде на новый файл. Если комуто нужно подробное howto в личку :)
Спасибо сказали: