Как настроить nginx для переадресации всех необработанных доменов на конкретную службу?

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

У меня есть VPS-сервер. Все веб-сайты там работают в контейнерах докеров с nginx / nginx-gen / nginx, позволяющими шифровать компаньона спереди.

У меня есть одно самое большое приложение, которое позволит пользователям добавлять свои домены, чтобы указать это приложение. Я должен сделать это автоматизированным. Мое приложение будет соответствующим образом обрабатывать домены, и это не проблема.

Вопрос в том, как настроить nginx для пересылки всех запросов для доменов, которые не обрабатываются никакими другими контейнерами (поэтому они получают отдельные блоки конфигурации) в мое приложение, которое является одним из контейнеров.

Есть ли способ сделать это?


person Marek Urbanowicz    schedule 18.06.2017    source источник
comment
Блок сервера default_server будет соответствовать всем доменам, которые явно не обрабатываются другим блоком сервера. Подробнее см. в этом документе.   -  person Richard Smith    schedule 18.06.2017


Ответы (1)


Это очень просто сделать:

докер-compose.yml

version: '2'
services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./nginx.tmpl:/app/nginx.tmpl
    environment:
      - DEFAULT_HOST=whoami2.local

  whoami:
    image: jwilder/whoami
    environment:
      - VIRTUAL_HOST=whoami.local

  whoami2:
    image: jwilder/whoami
    environment:
      - VIRTUAL_HOST=whoami2.local

Таким образом, все, что не определено как домен в nginx, будет перенаправлено на сервис whoami2.

Я надеюсь, что это изменение работает для вас

person German    schedule 18.06.2017