Portál AbcLinuxu, 20. května 2024 19:50


Dotaz: Virtualhost pre nginx

7.8.2018 16:27 Peter
Virtualhost pre nginx
Přečteno: 286×
Odpovědět | Admin
Dobrý deň vám prajem.

Na apache mám riešené virtualhost-y pre rôzne domény druhej úrovne následovne:
<VirtualHost *:81>
  ServerName domain.tld
  ServerAlias *.domain.tld
  VirtualDocumentRoot /server/html/domain.tld/site/%-3+
</VirtualHost>
V apache sa doména druhej úrovne (domain.tld) prekladá na "_", čiže "www.domain.tld" hľadá apache v ceste "/server/html/domain.tld/site/www" a "domain.tld" zas v ceste "/server/html/domain.tld/site/_"

Teraz som si v nginx urobil reverzné proxy - hlavne kvôly http2:
server {
  listen 443 ssl http2;
  server_name .domain.tld;

  location / {
    proxy_pass http://127.0.0.1:81;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host:$server_port;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}
ale pritom by som chcel aby statický obsah čítal nginx a nie aby išiel z apache, čiže potrebujem obdobne nastaviť premennú root pre nginx tak ako je v apache

Za cenné rady vopred veľmi pekne ďakujem
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.8.2018 16:52 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Virtualhost pre nginx
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vytvořte si tam normálně dvě serverové konfigurace. Pro dva virtualhosty nemá smysl vymýšlet nějakou automatiku a bude to i přehlednější.
server {
    listen 443 ssl http2;
    server_name  domain.tld;
    location / {
        root   /server/html/domain.tld/site/_;
    }
}

server {
    listen 443 ssl http2;
    server_name  www.domain.tld;
    location / {
        root   /server/html/domain.tld/site/www;
    }
}

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.