2017-02-13 16 views
0

У меня динамический IP, которым я управляю с помощью ddclient. Я использую no-ip для поддержки имен хостов, чтобы указать на мой IP-адрес.nginx перенаправить субдомен для разделения сервера ip

У меня есть www.somename.com, sub.somename.com и app.somename.com. Очевидно, все это указывает на мой IP-адрес. Первые два представляют собой пару страниц wordpress на сервере (server1), на котором запущена NGINX, с отдельными конфигурациями на сайтах, доступными для каждого сайта. Последний представляет собой отдельный сервер приложений (server2), на котором запущен GitLab.

Мой маршрутизатор не позволяет включить субдомен, поэтому весь порт 80 трассируется на сервер1. Я надеюсь, что в nginx можно установить конфигурацию, которая позволит мне отправлять весь трафик для app.somename.com на локальный IP-адрес в моей сети (192.168.0.nnn), но сохранить адрес страницы как app.subdomain.com.

Прямо сейчас, у меня есть: -


/etc/nginx/site-available$ ls 
somename.com domain sub.somename.com app.somename.com 

Соответствующие них связаны с сайтов с поддержкой. Для сервера приложений, у меня есть: -

server { 
     server_name app.somename.com; 
     location/{ 
       proxy_pass http://192.168.0.16:80; 
     } 
} 

Проблема, в том, что в адресной строке браузера, это приводит к следующему: -

http://192.168.1.16/some/pages

Где я хочу: -

http://app.somename.com/some/pages

Как это разрешить?

ответ

0

Вы можете попробовать вот так!

server { 
     server_name app.somename.com; 
     location/{ 
       proxy_pass http://192.168.0.16:80; 
       proxy_set_header Host app.somename.com; 
     } 
} 
+0

Отлично! Прокси_set_header был именно тем, чего не хватало. Спасибо огромное! – Metz

+0

Нет проблем. Я рад, что могу помочь! –