Frage Eine Domain, von der ich noch nie gehört habe, wird auf meiner Website aufgelöst.


Diese Frage hat hier bereits eine Antwort:

Ich habe entdeckt (über das Betrachten von mod_pagespeed Cache-Einträgen), dass eine völlig zufällige Domain, von der ich noch nie zuvor gehört habe, auf meiner Website aufgelöst wird.

Wenn ich diese Domain besuche, wird meine Website geladen. Der DNS für diese Domäne verweist auf die IP meines Servers.

Gerade jetzt in meiner vhost config habe ich *: 80, was ich vermute, ist wo ich falsch liege.

Ich habe das sofort in example.com:80 geändert, wo example.com meine Domain ist. Angenommen, dies würde bedeuten, dass der Server nur Anfragen auf meinen Domain-Namen beantworten und erfüllen würde und nicht irgendeine Anfrage auf Port 80.

Meine ursprüngliche vhost-Konfiguration;

<VirtualHost *:80>
    DocumentRoot "/var/www/example.com"
    <Directory "/var/www/example.com">
        Order allow,deny
        Allow from all
        Allowoverride all
    </Directory>
</VirtualHost>

Meine neue versuchte Konfiguration;

Listen 80
ServerName example.com

<VirtualHost example.com:80>
    DocumentRoot "/var/www/example.com"
    <Directory "/var/www/example.com">
        Order allow,deny
        Allow from all
        Allowoverride all
    </Directory>
</VirtualHost>

Als ich versuchte, Apache mit der neuen Konfiguration neu zu starten, bekam ich folgenden Fehler:

 * Restarting web server apache2 [Fri Mar 28  08:55:47.821904 2014] [core:error] [pid 5555] (EAI 2)Name or service not known: AH00549: Failed to resolve server name for 152.155.254.241 (check DNS) -- or specify an explicit ServerName
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

Hinweis: Der IP-Anfang 152 im obigen Fehler wurde leicht bearbeitet, aber das Original war sowieso nicht die IP-Adresse meines Servers.

Kann jemand zu diesem Thema einen Rat geben? Ist die Domain (eigentlich gibt es ein Paar), die unschuldig auf meiner Website nur den vorherigen Benutzer des dedizierten Servers auflöst, dessen DNS nur noch darauf zeigt? Wie kann ich das Apache Virtual Host Config Problem lösen, und jeder andere Rat ist willkommen.

Vielen Dank.


23
2018-03-28 09:02


Ursprung


Um herauszufinden, welche Prozesse auf welchen Ports abhören, können Sie verwenden netstat -lnptu<br> (Ich hätte dies als Kommentar geschrieben, aber habe noch nicht genug Rep.) - LoicAG
Ich habe nur 5 offene Ports, und das einzige, was auf 80 hört, ist Apache. - i-CONICA
Ihre VirtualHost sollte eine haben ServerName - Das ist die Warnung. - Simon Richter
Der Fehler ist vorübergehend. Das bedeutet, dass die Kulanzfrist für das erneute Binden des Sockets (120 Sekunden IIRC) noch nicht abgelaufen ist. Für Konfigurationsänderungen reload ist in der Regel ausreichend. - Simon Richter
Ist das dein eigener Server? Oder befinden Sie sich auf einem Multi-Tenant-Hosting-Service-Server? Wenn es der zweite ist, könnte dieser andere Hostname zu einem anderen Mandanten gehören. - O. Jones


Antworten:


Es ist wahrscheinlich nicht schädlich, wenn diese anderen Domains auf Ihren Host verweisen, außer dass dies die Belastung Ihres Servers erhöht. Wenn Sie sie blockieren möchten, richten Sie neue virtuelle Hosts für sie ein:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName example.com
    # example.com configuration
</VirtualHost>
<VirtualHost *:80>
    ServerName baddomain.com
    Deny from all
</VirtualHost>

Anstatt Deny from all Du könntest benutzen Redirect permanent /error.html um ihnen eine benutzerdefinierte Fehlermeldung anzuzeigen.

Sie könnten den zweiten VirtualHost für jede Domäne, die Sie blockieren möchten, wiederholen, oder wenn es eine große Anzahl von ihnen gibt, legen Sie sie zuerst als Standard-VirtualHost fest und machen Sie Ausnahmen für Ihre Domain (s):

NameVirtualHost *:80
<VirtualHost *:80>
    # default VirtualHost
    Deny from all
</VirtualHost>
<VirtualHost *:80>
    ServerName example.com
    # example.com config
</VirtualHost>

Was Ihre Fehlermeldungen anbelangt, so scheint Apache den Hostnamen example.com nicht auflösen zu können, als er gestartet wurde, oder er konnte Ihren Hostnamen nicht finden ServerName Richtlinie. Nicht sicher warum. Der zweite Fehler besagt, dass Port 80 bereits auf Ihrem Host verwendet wird. Hast du alle vorherigen Instanzen von Apache beendet?


30
2018-03-28 09:52



Es gibt Schaden. Google mag mehrere Websites mit demselben Inhalt nicht. - TomTom
Hallo danke. Ich habe Service apache2 restart benutzt, also nehme ich an, dass Apache nicht neu gestartet wird, bis alle Instanzen geschlossen sind, aber ich könnte falsch liegen! Die Sorge darüber, dass andere Domains auf meiner Website aufgelöst werden, ist SEO-mäßig. Andere Domains spiegeln meine Inhalte wider, sind wirklich schlechte Nachrichten, vor allem wenn man bedenkt, dass meine Domain ziemlich jung ist und die anderen Domains erheblich älter sein können. Ich werde den Vorschlag versuchen, alles zu leugnen, dann meins zuzulassen und zu sehen, wie es mir geht, danke. - i-CONICA
TomTom, ja, sehe meinen Kommentar, das ist meine Sorge! :) - i-CONICA
+1 für den zweiten Teil dieser Antwort; Erstellen Sie einen Standard-vhost, um alle fehlerhaften Domänen zu erfassen, und richten Sie dann spezifische vhosts für Ihre Domäne (n) ein. Ich mag auch die "Redirect permanente" -Lösung, da man damit Leuten sagen kann "diese Domain ist kaputt!" - Stellen Sie sicher, dass Sie Ihre E-Mail / E-Mail nicht auf dieser Fehlerseite angeben, da die Benutzer der anderen Domains sonst über die anderen Domains weinen, die nicht funktionieren. Außerdem +1 an TomTom über doppelte Strafen für Inhalte in Google. - Doktor J
@TomTom vielleicht versucht jemand seinen PageRank zu bombardieren - NothingsImpossible


Apache dient als eine Art Standard für die erste von Ihnen definierte Domäne.

Wenn Sie myowndomain.com mit dem von Ihnen gewünschten Inhalt und allen anderen Domänen verhalten möchten (vielleicht auf die entsprechende Seite Ihrer bevorzugten Domain umleiten), definieren Sie zuerst die "catchall" -Domäne, behandeln Sie den Verkehr entsprechend (ich empfehle Ihnen, auf Ihre reale Domäne) und definieren Sie dann Ihre reale Domäne mit nachfolgenden VirtualHosts.


4
2018-03-28 14:43



Eine andere Lösung für den Standard-vhost besteht darin, eine leere oder 404-Site bereitzustellen. - ysdx


In Bezug auf "wo zum Teufel dieser andere Name für meine Website herkommt", kann jeder beliebige A-Aufnahme, die er mag, unter einer beliebigen Domain unterhalb einer Domain platzieren, die er kontrolliert. Sie können etwas untersuchen, indem Sie whois um herauszufinden, wer die Second-Level-Domain mit dem betreffenden DNS-Namen registriert hat.


4
2018-03-29 02:09





Ihre beste Wette hier, wenn Sie wirklich wollen, dass zufällige Domains auf Ihre Website hingewiesen wird, ist wahrscheinlich, wie Andrew Schulman beantwortet hat und BeowulfNode42 hat kommentiert:

Serviere einen Standard-vhost. Sie haben hier einige Optionen, aber um klar zu sein, empfehle ich Ihnen, eine einfache Fehlerseite zu verwenden, da dies die Fehlerbehebung später erschweren kann.

  • "Unter normalen Umständen solltest du das nicht sehen, bitte kontaktiere blah blah um Hilfe." Art der Nachricht. Auf diese Weise, wenn etwas Unerwünschtes später passiert (Fehlkonfigurationen passieren), haben Sie einen nützlichen Rückfall.
  • Redirect mit 301 zu Ihrer tatsächlichen Domain / Website, obwohl, wenn bestimmte Probleme auftreten, Sie mit einer Umleitungsschleife enden könnten.
  • Haben Sie eine Art Mini-Site, die den Benutzer auf Ihre tatsächliche Website führt, und vielleicht erklärt, dass die von ihnen getroffene Domain "nicht mehr verwendet wird".

So, Belassen Sie Ihre Vhost-Konfiguration wie sie war, aber erstellen Sie einen neuen vhost für die eigentliche Website, tauschen Sie die Verzeichnisse aus und machen Sie weiter.

In Anbetracht dessen, was Sie über die kürzlich erfolgte Übernahme des Servers gesagt haben, würde ich in Erwägung ziehen, sicher zu gehen (es sei denn, die Domain ist eindeutig nicht deins), dass dies kein vergessenes Überbleibsel ist, das von autorenewal abgezogen werden muss oder nicht Teil eines Projekts, das noch nicht abgeschlossen ist oder aufgegeben wurde.


1
2018-03-29 19:51





Sie sollten immer den Standard-VirtualHost zuerst, wie in @Andrew Schulman zweite Lösung.

Auf diese Weise können Sie alle Anfragen, die nicht für Ihre Site sind, in verschiedenen Logfiles mit CustomLog und ErrorLog in der Config ablegen - das wollen Sie nicht in Ihren Protokollen, wenn Sie AWStats oder ein anderes Programm zum Erstellen Ihrer Statistiken verwenden.

Außerdem werden viele (die meisten?) Angriffe auf Ihre IP und nicht auf Ihren Hostnamen kommen. Auch dies wird Ihre realen Website-Logs sauber halten und sie direkt ablehnen mit der Ablehnung von allen.


0
2018-03-28 11:37



Hallo danke. Ich habe versucht, die zweite Lösung, aber es gab mir einen Fehler. Ich werde das später fortsetzen, ich kann jetzt nicht. Vielen Dank. - i-CONICA