Выгодные VPS в REG.RU - останови когда хочешь, плати только за диск и IP

Nedávno jsem vytvořil server Ubuntu a nainstaloval jsem LEMP stack, po kterém jsem hostil svůj web na serveru pomocí WordPress.

Ale po nějaké době jsem si všiml, že se některé domény řadí na Google a načítají můj web.

Existuje nějaký způsob, jak jim v tom mohu zabránit?

Dříve jsem takovému problému nikdy nečelil.

Pro informaci: Moje hlavní doména: https://droidmaze.com

Ostatní domény (ne moje) směřující na můj server I.P .:

http://tirtadji.com/ http://www.pisonlifetree.com 

Obávám se, že to může můj web penalizovat za duplicitní obsah.

  • Nemůžete někomu zabránit v nasměrování domény na vaši IP adresu. Jediné, co můžete udělat, je překonfigurovat server tak, aby odpovídal správně, a nikoli zobrazovat vaše stránky.
  • 1 Podle vyhledávání DNS v těchto doménách jsou ne „ukazuje na IP adresu vašeho serveru“? Byl to předpoklad, nebo se to změnilo? Pokud by škodlivý web chtěl „naklonovat“ jiný web, pravděpodobně by nakonfiguroval reverzní proxy server - který by musel být výslovně zablokován. Pouhé nasměrování domény na adresu IP serveru ve většině případů nebude fungovat, protože „správně“ nakonfigurovaný server by takové požadavky nepřijal (jak navrhuje @StephenOstermiller). (Vaše hlavní doména se pro mě nedaří připojit?)
  • @ MrWhite Ve skutečnosti jsem problém vyřešil.

Chcete-li zlepšit zabezpečení, zabránit útokům na záhlaví hostitele a uchovat si hodnocení ve vyhledávání, doporučuji následující:

Žádný výchozí web

Jednoduše zrušte veškerý provoz, který neodpovídá vašemu originálnímu webu. Před použitím níže uvedené konfigurace proveďte na serveru následující ukázkový příkaz a vygenerujte „fiktivní“ certifikáty podepsané svým držitelem, které jsou nezbytné pro reakci na požadavky HTTPS.

mkdir /etc/ssl/dummy && openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/dummy/dummy.key -out /etc/ssl/dummy/dummy.crt 

Nyní použijte následující dva bloky serveru pro výchozí konfiguraci webu.

server { listen [::]:80 default_server; listen 80 default_server; return 444; } server { listen [::]:443 ssl http2 default_server; listen 443 ssl http2 default_server; ssl_certificate /etc/ssl/dummy/dummy.crt; ssl_certificate_key /etc/ssl/dummy/dummy.key; return 444; } 

Znovu načtěte Nginx a zruší všechna připojení napodobitelného webu.

Zabraňte rámování

Někde do bloku serveru vašeho skutečného webu přidejte následující záhlaví, abyste zabránili tomu, aby někdo vložil váš web jako rámec / iframe do názvu domény.

add_header X-Frame-Options 'SAMEORIGIN'; 

Kanonické adresy URL

V <head> části každé stránky, přidejte kanonický prvek odkazu URL. Pokud má každá stránka něco jako <link rel='canonical' href='https://www.your-site.com/your-page/'> pak i když někdo zkopíruje váš web pod svým názvem domény, vyhledávače rozpoznají váš web jako originál.

  • Chyba HTTP 444 neexistuje. Zdá se, že jde o specifickou směrnici pro nginx k uzavření připojení bez odeslání odpovědi. Bylo by přívětivější poslat odpověď HTTP s chybou 404 a informovat uživatele, že web nebyl nalezen.
  • 2 > Chyba HTTP 444 neexistuje. Nikdo o tom netvrdil, Stephene. Je to však skvělý způsob, jak zrušit pokusy o podvodné připojení (s minimálními prostředky). Nemáte žádnou povinnost být milí k lidem kopírujícím váš obsah a moje odpověď to bere v úvahu. Nezastavíte se a nevysvětlíte podvodníkovi s telefonem, že to není správné, že? Ne, spojení byste jednoduše ukončili zavěšením. To pro vás dělá Nginx 444 a myslím, že je pro tento případ použití perfektní.
  • 1 Podle mých zkušeností domény ukazující na mou IP adresu nebyly škodlivé. Většinu času má někdo něco špatně nakonfigurovaného nebo dostanu IP adresu, kterou použil někdo jiný. Chybové zprávy mohou pomoci nejen vlastníkovi druhé domény, ale také návštěvníkům. Chyba 404 není náročná na prostředky. Specifikace HTTP neříká, že spojení lze zavírat a rušit takhle, pokud vím.
  • "vygenerovat" fiktivní "certifikát s vlastním podpisem - pokud to neuděláte, připojení pravděpodobně" selže "?
  • Nginx vyžaduje, aby byly před spuštěním / restartem přítomny figuríny. Důvodem je, že TLS zapouzdřuje připojení HTTP, takže handshake se musí uskutečnit před odpovědí HTTP. Vypadá to hloupě, ale je to technicky správné.

Vypadá to, že je váš server nastaven na přesměrování na HTTPS, což způsobí chybu v neshodě certifikátu, když se návštěvník pokusí načíst jednu z těchto dalších domén, která ukazuje na vaši IP. To je dobrá věc, protože renomované prohlížeče a prohledávače uvidí nesoulad certifikátů a budou vědět, že „nepočítají“ obsah ve prospěch ostatních domén, nebo v případě prohlížeče se zobrazí varovná stránka. Už byste se neměli obávat problémů s prohledávačem.


Pokud to chcete udělat o krok dále, zvažte konfiguraci serveru tak, aby přesměroval všechny návštěvníky přímo na vaši vlastní doménu. Poté bude kdokoli tyto domény navštíví, bez problémů přesměrován na vaši vlastní doménu. Díky tomu je ještě více problém „oni“.

Výchozí virtuální server může něco takového fungovat, protože máte svou otázku označenou jako nginx:

server { listen 80 default_server; server_name _; return 301 https://droidmaze.com$request_uri; } 
  • Již jsem přidal návrat 301 do konfiguračního souboru nginx, ale stále není přesměrován, když je otevřena domovská stránka. Na můj web jsou přesměrovány pouze příspěvky blogu.
  • Obvykle doporučuji, aby servery místo přesměrování zobrazovaly stránku 404 pro nerozpoznané domény. Vyměnil bych return 301 https... s return 404. Chcete-li poskytnout vlastní stránku 404 se zprávou jako „Tento server není nakonfigurován pro tento název domény“, podívejte se, jak získat nginx, aby vždy vrátil vlastní 404 pro výchozího hostitele

Pokud jste obeznámeni s php a cítíte se pohodlně při editaci souborů, pak přidání vlastního kódu do index.php bude stačit.

zde bych měl použít v mém souboru index.php po php otevřené značce (

if (!isset($_SERVER['HTTP_HOST']) != 'mydomain.tld')die('Domain not authorised'); 

Další příklad kódu naleznete zde https://stackoverflow.com/a/1459794/14214571.

  • 2 Můžete vysvětlit trochu více o tom, jak OP může použít odkaz a PHP k vyřešení jejich problému s nginx? Dík.
  • @dan je to jednoduché, můžeme přidat jistič s if, like if (! isset ($ _ SERVER ['HTTP_HOST'])! = 'hisdomain.tld') die ("Doména není autorizovaná"); něco takového by stačilo bez problémů
  • @AnkitY. K odpovědi je třeba přidat příslušné informace. Odpovědi pouze na odkazy jsou považovány za „nekvalitní“, protože cíl odkazu může být smazán nebo přinejmenším vyžaduje, aby uživatel navštívil jiný web. (Komentáře nejsou striktně součástí odpovědi a nejsou indexovány.) Ano, odkaz je jiným webem v síti SE, ale platí to samé. Nanejvýš to není víc než a komentář.
  • 1 @dan chápu, že budu od nynějška opatrný ohledně odpovědi na něco.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?

užitečné informace