jak mogę skonfigurować Nginx do tysięcy różnych nazw serwerów bez tworzenia tysięcy zewnętrznych plików konfiguracyjnych lub pisania bardzo długiej linii nazw serwerów?
Rzeczywiście, chciałbym, aby Nginx był odwrotnym proxy tylko dla server1.com, server2.com itp.
Najlepszym rozwiązaniem dla mnie byłoby posiadanie jednego zewnętrznego pliku konfiguracyjnego zawierającego moje ograniczone nazwy serwerów: server1.com, server2.com itp.
Czy to możliwe ?
Ok, dziękuję za odpowiedzi, działa bez rejestracji. wyrażenia. Po prostu duża lista nazw serwerów, jak wyjaśnia kolbijack. Dzięki.
Odpowiedzi:
Możesz umieścić dyrektywę nazwa_serwera w pliku samodzielnie, a następnie po prostu dołączyć ją z bloku serwera:
Plik server_names potrzebuje tylko server_name u góry i; na dole ma być ważna dyrektywa.
źródło
ServerAlias
dyrektyw i do 16 milionówDeny from
dyrektyw) w Apache. 5000 domen daje wymierne, ale niewielkie opóźnienie. Zwiększając liczbę, zauważyłem, że opóźnienie zaczęło być zauważalne przy około 50 000. W przypadku Apache (i prawdopodobnie także w przypadku nginx) lista jest przechowywana w pamięci RAM, co oznaczało, że przy największym zestawie, jaki próbowałem, mogłem uruchomić tylko jeden proces potomny w ramach dostępnej pamięci RAM.server_name
dyrektywie i odpowiadaRequest rate: 36900.6 req/s (0.0 ms/req)
Request rate: 34716.8 req/s (0.0 ms/req)
server_name
Deklaracja wserver {}
bloku może być wyrażeniem regularnym, powinno to pozwolić na dopasowanie SERVER_NAME s ciągu ustalonego wzoru.Więcej informacji na ten temat można znaleźć tutaj: http://nginx.org/en/docs/http/server_names.html#regex_names
źródło