Рейтинг:0

Как настроить поддомены с подстановочными знаками вместе с некоторыми фиксированными именами в NGINX?

флаг cn

У меня есть пример.com и следующие варианты использования:

  • только SSL
  • www.будет перенаправлен на example.com (без www.)
  • example.com изменит прокси на :3000
  • fix1.example.com изменит прокси на :3001
  • fix2.example.com изменит прокси на :3002
  • ...
  • *.example.com изменит прокси на :4000
  • *.example.com/admin изменит прокси на :5000
    • example.com/admin, fix1.example.com, fix2.example.com,... не будет иметь /admin и не должен реверсировать прокси на :5000

В моей текущей конфигурации у меня есть следующие файлы в моих сайтах-доступных/сайтах-включенных:

  • exmaple.com
  • fix1.example.com
  • fix2.example.com
  • ...
  • wild.example.com

Каждый файл настраивает свою часть, так как другого файла нет. Но в итоге я получаю дублирующиеся или конфликтующие конфигурации, поэтому я думаю, что должен быть лучший подход в одном файле, который обрабатывает весь домен со всеми вариантами использования.

Только SSL и без www часть проста:

сервер {
    если ($host = www.example.com) {
        вернуть 301 https://$host$request_uri;
    }
    имя_сервера www.example.com;
    вернуть 301 $scheme://example.com$request_uri;
}
сервер {
    если ($host = example.com) {
        вернуть 301 https://$host$request_uri;
    }
    слушать 80;
    имя_сервера пример.com;
    вернуть 301 http://$server_name$request_uri;
}

Но как мне настроить фиксированные поддомены и субдомен с подстановочными знаками вместе с путем /admin?

Это блок, который я использую для пример.com прокси:

сервер {
        слушать 443 ssl http2;
        имя_сервера пример.com;

        место расположения / {
                proxy_pass http://localhost:3000;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение «обновление»;
                proxy_set_header Хост $host;
                proxy_cache_bypass $http_upgrade;
        }
        ssl_сертификат #...
        ssl_certificat_key #...
}
Gerard H. Pille avatar
флаг in
Можете ли вы сначала прочитать https://nginx.org/en/docs/http/server_names.html и посмотреть, как далеко вы продвинулись?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.