2015-06-29 3 views
0

У меня есть 2 веб-сервера плюс сервер nginx в качестве обратного прокси. назовите их web1 web2 и nginx1.Nginx 2 webservers за 1 IP

  • web1 10.0.0.110 с abc.com, def.com
  • web2 10.0.0.120 с hij.com, klm.com
  • nginx1 10.0.0.125

Im пытается иметь 2 webservers за 1 внешний IP

У меня ничего нет в /etc/nginx/conf.d/ Я создал файлы conf для каждого сайта на доступных сайтах и ​​связал их с символическими ссылками на сайты.

пример файл.

server { 
      listen 80; 
      server_name *.abc.com; 
      access_log off; 
      error_log off; 
      location/{ 
       proxy_pass http://10.0.0.110/; 
       proxy_redirect off; 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_max_temp_file_size 0; 
       client_max_body_size 10m; 
       client_body_buffer_size 128k; 
       proxy_connect_timeout 90; 
       proxy_send_timeout 90; 
       proxy_read_timeout 90; 
       proxy_buffer_size 4k; 
       proxy_buffers 4 32k; 
       proxy_busy_buffers_size 64k; 
       proxy_temp_file_write_size 64k; 
      } 


} 

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

Что я делаю неправильно?

ответ

1

Вам необходимо будет предоставить директиву сервера для каждого веб-сервера. Вот пример того, что должно работать для вас (вместо многоточия с вашими дополнениями):

server { 
    server_name abc.com def.com; 
    ... 
    location/{ 
    proxy_pass http://10.0.0.110/; 
    ... 
    } 
} 

server { 
    server_name hij.com klm.com; 
    ... 
    location/{ 
    proxy_pass http://10.0.0.120/; 
    ... 
    } 
} 
+0

Разве это не то же самое? Должен ли я поставить upstream web1 { сервер 10.0.0.110; } upstream web2 { сервер 10.0.0.120; } какой файл я вставляю этот код? – Nousfeed

+0

ах, я пропустил две отдельные части домена вашего вопроса. вы на самом деле хотите иметь несколько уникальных доменов nginx на каждом из этих веб-серверов, а не иметь баланс нагрузки nginx между двумя веб-серверами? вам понадобятся две отдельные директивы сервера {...}. вы также можете добавить несколько доменов, предоставив список доменов, разделенных пробелами для директивы server_name. вам не понадобятся директивы upstream, если для каждого домена есть только один веб-сервер. – pcting

+0

Да, я верю, что у меня есть, но вместо того, чтобы использовать 1 файл конфигурации для всех веб-сайтов, у меня есть 1 файл конфигурации для каждого веб-сайта. Таким образом, каждый веб-сайт имеет такой файл, как abc.com.conf def.com.conf в/sites-available, тогда Я создал символическую ссылку на/sites-enabled, а затем у меня есть файл /etc/nginx/sites-enabled/*.conf в файле nginx.conf. – Nousfeed

0

Я считаю, что я его сортируют, мне нужно, чтобы иметь IP набор

listen 10.0.0.125:80 

И установить домен имя правильно * .abc.com не включает abc.com, он включает только все поддомены.

поэтому я изменил его

server_name .abc.com; 

Просто сделать один из этих изменений не решить мою проблему.

Смежные вопросы