Tüm işlenmemiş vhost'ları yakalamak için Nginx'i ayarlama


41

Zaten bir sürü sanal ana makinem varsa, herhangi bir sanal ana makineyle eşleşmeyen istekleri işlemek için nasıl sanal bir ana bilgisayar oluşturabilirim? (örn. IP üzerinden erişim, IP'ye bağlanan başka bir etki alanı, vb.)

Yanıtlar:


52

sunucu adı _; ve listen yapılandırmadaki default_server aradığınız şeydir.

Örnek:

server {

   listen 80 default_server;
   server_name _;

   root /var/www/default; (or wherever)    

}

1
Ve https davası için:listen 443 ssl default_server;
James T Snell

Bunu etkinleştirdiğimde owncloud 9cevap vermeyeceğim. Neden? Owncloud VHOST bir sunucu_adıya sahiptir ve default_server değildir.
Corni

Ben kullanmıyorum 80açık sadece 443 olduğunu.
Corni

Bunu eklersem, / etc / nginx / sites-etkin / içindeki diğer config parçacıkları yoksayılır. /var/www/defaultBu durumda tüm alanlar gider . Snippet'leri nasıl sipariş etmeliyim?
rubo77

Postgresql bağlantıları için bir vhos oluşturabilirim?
Erlon Charles

4

SSL kullanıyorsanız, default_server - sertifika ve anahtar (kendinden imzalı olabilir) için bazı ekstra tesisatlara ihtiyacınız vardır.

server {
    server_name _;
    listen 80 default_server;
    listen 443 ssl default_server;
    ssl_certificate <path to cert>;
    ssl_certificate_key <path to key>;
    return 404; # or whatever
}

Nginx bir IP / port eşleştirme default_server'ında SSL bağlantısını kabul etmeye çalışacaktır. Bu tür bir sunucuda sertifika / anahtar eksikse, nginx bağlantıyı kesecektir. Diğer sunucuları denemez. Bu yüzden sertifika / anahtar unutma.


SSL sertifikası ile ilgili önemli not! Sertifika eksikse, tüm nginx sunucusu çalışmaz ( nginx -t"tamam"
Philipp

3
server {
  listen 80 default_server;
  listen 443 ssl default_server;
  listen [::]:80 default_server;
  listen [::]:443 ssl default_server;

  server_name _;
  root /path/to/default;
}

Girişler sırasıyla port 80 (HTTP), port 443 (HTTPS), port 80 IPv6 ve port 443 IPv6 içindir.

Bulunmayan log_not_found off;sayfa için bir günlük girişi eklemekten kaçınmayı düşünebilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.