Назад | Перейти на главную страницу

Nginx: тысячи server_name

как я могу настроить Nginx, ограничивающий тысячи различных имен серверов, без создания тысяч внешних файлов конфигурации или написания очень длинной строки server_name?

В самом деле, я бы хотел, чтобы Nginx был обратным прокси только для server1.com, server2.com и т. Д.

Лучшим решением для меня было бы иметь один внешний файл конфигурации, содержащий мои ограниченные имена серверов: server1.com, server2.com и т. Д.

Является ли это возможным ?


Ок, спасибо за ответы, работает без рег. выражения. Просто большой список server_name, как объяснил kolbijack. Спасибо.

Вы можете поместить директиву server_name в файл отдельно, а затем просто включить ее из своего серверного блока:

# example.com.conf
server {
  include /path/to/server_names;
  ...
}

# /path/to/server_names
server_name
  example.com
  domain.com
  foo.com
;

Файл server_names просто должен быть server_name вверху и; внизу, чтобы быть действующей директивой.

В server_name заявление в вашем server {} block может быть регулярным выражением, это должно позволить вам сопоставить server_name s в заданном шаблоне.

Более подробную информацию об этом можно увидеть здесь: http://nginx.org/en/docs/http/server_names.html#regex_names