Как настраиваются разные приложения в одном домене?

Как настраиваются разные приложения в одном домене?

У меня новая работа, и у них все настроено на AWS. У нас есть тестовый сервер, на котором размещено несколько приложений.

если я пойду в

jenkins.example.com

он переходит к запущенному у нас экземпляру Jenkins.

если я пойду в

server.test.example.com

Затем он переходит к тестовой версии нашего приложения.

Где это настраивается (разные приложения для разных "поддоменов")? В Nginx или в записях DNS? Или и там, и там или где-то еще?

(Я не на 100% уверен в терминах, которые следует использовать, задавая этот вопрос, например, «поддомены», не стесняйтесь, скажите мне, что это такое).

решение1

Это зависит от того, что вы хотите сделать.

То, о чем вы спрашиваете, скорее всего, требует Nginx, а не дополнительных записей DNS.

Записи DNS CNAME могут перенаправлять определенные поддомены на определенный домен (но не напрямую на определенный IP-адрес или порт на сервере). CNAME нужен только в том случае, если вы сопоставляете поддомен, перенаправляющий запрос на другое доменное имя (например, subdomain.exampleone.com ссылается на exampletwo.com).

Nginx может выступать в качестве обратного прокси-сервера, беря поддомены и перенаправляя их либо в определенную папку/файлы, либо в порт на вашем сервере. Это настраивается либо из вашего /etc/nginx/nginx.conf*, внутри http {...}блока, либо в /etc/nginx/sites-enabled/каталоге, где вы можете создать отдельный файл для каждого перенаправления (где http {...}подразумевается).

*или там, где находится ваш каталог nginx

Правильный формат для такого перенаправления (к приложению на определенном порту) в вашем случае /etc/nginx/nginx.confвыглядит следующим образом:

server {
    # whether you type localhost or 127.0.0.1 or something else here 
    # depends on your servers /etc/hosts file, where you define how 
    # the server refers to itself
    listen       localhost:80;  
    server_name  mysubdomain.example.com;

    location / {
     proxy_pass              http://localhost:MYPORTNUMBER
     proxy_set_header        Host            $host;
     proxy_set_header        X-Real-IP       $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

Где вы заменяете MYPORTNUMBER на порт, на котором запущено приложение. Процесс перенаправления на статические файлы аналогичен, но вместо proxy_pass вы бы сделали root /path/to/desired/folder.

Я специально не пробовал, но это должно работать для многоуровневых поддоменов, как server.test.ourdomain.comв вашем примере.

Связанный контент