Portál AbcLinuxu, 5. května 2025 15:09

Dotaz: Jak nastavit apache pouze pro dvě domény s jednou ip adresou

20.2.2018 20:58 bohus
Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Přečteno: 397×
Odpovědět | Admin
Ahoj všem. Mám takovou konfiguraci apache pro dvě domény nasměrované na jednu ip adresu. Může někdo poradit, jak všechny ostatní požadavky zcela ignorovat? Díky moc.
VirtualHost *:446
    ServerName www.domena.1
    ServerAlias domena.1
    DocumentRoot /var/www/domena.1
/VirtualHost

VirtualHost *:446
    ServerName *.domena.2
    ServerAlias domena.2
    DocumentRoot /var/www/domena.2
/VirtualHost
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.2.2018 21:01 NN
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jake ostatni pozadavky?
20.2.2018 21:14 bohus
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Proste chci jen u první domeny zpracovat pozadavek www.domena.1 nebo domena.1 a všecno ostatni treba ww2.domena.1 ignorovat.
20.2.2018 21:56 NN
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Nastav si dobre DNS = na tvou verejnou IP bude ukazovat domena druheho radu a www subdomena. V apache takto:
ServerName mojedomena.cz
ServerAlias www.mojedomena.cz
Pokud nemas moznost ovlivnit DNS muzes presmerovat neplatne dotazy pomoci rewrite pravidel.
20.2.2018 22:07 bohus
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Pokud nemas moznost ovlivnit DNS muzes presmerovat neplatne dotazy pomoci rewrite pravidel.
Kam ale presmerovat neplatny dotaz?
20.2.2018 22:48 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Tak zaprvé, pokud nebude v DNS uvedený k danému „neplatnému“ jménu žádný záznam, tak ten požadavek běžně ani nevznikne. Vzniknout nicméně může (například si uživatel záznam v DNS nasimuluje vložením řádku do hosts anebo se připojí na číselnou IP adresu a příslušný host si vyžádá pomocí http protokolu). Pak ten požadavek „spadne“ do defaultního virtuálu, který může třeba vracet prázdnou stránku nebo 404.1 – Site Not Found. Případně lze nasadit nějakou proxy, která to bude dělat místo apache (může být odolnější proto útoku).
-- OldFrog
MMMMMMMMM avatar 20.2.2018 23:26 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak píše OldFrog - vytvořit ještě jeden VirtualHost a dát jej na úplný začátek před oba virtuály. Jako ServerName zvolit třeba IP adresu serveru - ten "schytá" všechny požadavky, které nepůjdou na virtuály domena.1 a domena.2. Nevím, jak si představuješ onu "ignoraci", můžeš tam mít třeba prázdný adresář s omezením přístupu např. deny from all... co já vím, je to imho celkem jedno. ;)
Linux Dokumentační Projekt - PDF ke stažení
21.2.2018 03:14 bohus
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
A nešla by napsat podmínka? něco jako
if ! www.example.com OR example.com 
podstrč error_404.html
Pokud ano, může někdo napsat prosím jak?
MMMMMMMMM avatar 21.2.2018 08:23 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Můžeš definovat výchozího virtualhosta, který by vracel 404 - https://serverfault.com/questions/231438/how-do-i-configure-the-default-virtual-host-return-a-404-header-in-apache - prostě je potřeba přidat dalšího virtualhosta, který obslouží všechny nedefinované domény
21.2.2018 13:05 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Jak nastavit apache pouze pro dvě domény s jednou ip adresou
Přibližně nějak takto:
[IfModule mod_rewrite.c]
        RewriteEngine On
        RewriteCond %{SERVER_NAME} !=www.aaa.cz [AND]
        RewriteCond %{SERVER_NAME} !=aaa.cz
        RewriteRule ^ http://bbb.cz/404.html [END,QSA,R=permanent]
[/IfModule]
Závorky kolem IfModule je potřeba nahradit samozřejmě za špičaté a modul musí být zapnutý.
-- OldFrog

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.