Nginx gebruikt taatst toegevoegde vhost i.p.v. default

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 20-09 17:01
Hi all,

Mijn Nginx installatie bevat zo'n twintig verschillende "vhosts" in de sites-available directory en staan ook allemaal enabled. Éen daar van is de default. Mocht dus een vhost worden aangeroepen die niet is gedefinieerd als zodanig in de sites-available directory dan zou Nginx dus de default config moeten gebruiken. Maarrr, dat doet 'ie dus niet. Het lijkt er op dat Nginx in plaats daarvan automatisch de laatst toegevoegde vhost gebruikt en laat zien.

Ik kom er niet uit :-/. Iemand enig idee?

Acties:
  • 0 Henk 'm!

  • d1ng
  • Registratie: Augustus 2009
  • Laatst online: 06-05-2024
Waarom zou hij volgens jou de default config moeten pakken? Maw. hoe heb je dat aangegeven?

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 02-10 22:26

Hero of Time

Moderator LNX

There is only one Legend

Zonder config en voorbeelden kunnen we niets. Doe dus eens wat meer moeite en laat zien wat je zelf al hebt gedaan om het probleem te verhelpen. Je bent vast niet de enige met dit idee, dus iemand op 't web zal vast al iets hebben verzonnen hiervoor.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Daar is de "default_server" parameter voor.

Maak bijvoorbeeld een config zoals deze:
server {
   /* default server voor poort 80 */
   listen 80 default_server;
   /* server name _ werkt als wildcard */
   server_name _;
   root ....;
}

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 20-09 17:01
Wolfboy schreef op vrijdag 17 oktober 2014 @ 09:39:
Daar is de "default_server" parameter voor.

Maak bijvoorbeeld een config zoals deze:
server {
   /* default server voor poort 80 */
   listen 80 default_server;
   /* server name _ werkt als wildcard */
   server_name _;
   root ....;
}
Heb dit geprobeerd maar het werkte niet. Ik kwam er achter dat Nginx, als deze geen match aantreft, de eerste vhost op alfabetische volgorde gebruikt. Kortom; ik heb mijn default vhost nu hernoemd naar 1default. Hierdoor pakt 'ie nu die automatisch als er geen match is :-).

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 02-10 22:26

Hero of Time

Moderator LNX

There is only one Legend

Dat doet Apache (v2.2 iig) ook. Als de host-header mist, wordt de eerste vhost gepakt die geladen is en het laden gebeurt op alfabetische volgorde. Daarom wordt de default ook gelinkt als 000-default.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 02-10 20:04

deadinspace

The what goes where now?

default_server zou wel degelijk moeten werken, zie http://nginx.org/en/docs/...p_core_module.html#listen:
The default_server parameter, if present, will cause the server to become the default server for the specified address:port pair. If none of the directives have the default_server parameter then the first server with the address:port pair will be the default server for this pair.
Overigens werkt het hier met "default" (de legacy benaming van default_server) prima.
Pagina: 1