web-dev-qa-db-ja.com

私のサイトのコンテンツを提供する不明なドメイン

www.aaa.comのような未知のドメインが、私のサイトとまったく同じコンテンツ(html、js、css、任意のアセット)を提供していることがわかりました:myname.me

enter image description here

また、APIも、たとえばwww.aaa.com/api/usermyname.me/api/userと同じ応答を受け取ります。

このドメインが自分のものを提供するのをブロックするにはどうすればよいですか?

どのようにしてこれを行い、私のドメインに直接リダイレクトしますか?プロキシ? DNS?

私はVPSを使用し、nginxを使用しています。ここではnginx構成です。これは、httpsへのリダイレクトです。

server {
    if ($Host = example.me) {
        return 301 https://$Host$request_uri;
    }

    listen 80 default_server;
    listen [::]:80 default_server;

    server_name example.me;
    return 404;
}

これは、httpsリクエストからポート3000で実行されているアプリケーションへのプロキシです。

server {
    root /var/www/html/example
    server_tokens off;

    index index.html index.htm index.nginx-debian.html;

    server_name example.me;
    # add_header Cache-Control no-cache;

    location / {
        # First attempt to serve request as file, then as directory, then fall back to displaying a 404.
        # try_files $uri $uri/ =404;
        proxy_pass http://198.51.100.1:3000$request_uri;
    }
}
3
Timothy Lee

あなたの説明によると、あなたが所有していない別のドメイン名があなたのIPアドレスに設定されているため、そのドメインへのWeb訪問者はあなたのサイトを見ることができます。

これを修正するには、nginxに付属しているデフォルトのnginx serverブロック(またはこの場合、デフォルトのserverブロックのUbuntuのカスタムバージョン)を復元する必要があります。このデフォルトのserverブロックは、デフォルトでは何も提供しません。そこに到達するすべてのものは、Debianの「nginxへようこそ」ページを取得します。自分のサイト用に個別のserverブロックが必要です。

4
Michael Hampton

@ MichaelHampton♦の回答を参照してください。これが私がそれを修正する方法です。

デフォルトのサーバーブロック(ssl)を追加します。これを機能させるには、ssl証明書パスを含める必要があります。 ここ を参照してください。

server {
        listen 443 default_server;
        listen [::]:443 default_server;
        ssl_certificate /path/to/your/certificate
        ssl_certificate_key /path/to/your/certificate_key
        server_name _;
        return 444;
}

これで、不明なドメインは何も返しません(ただし、SSLを使用しています)。ドメインは正常に機能します。

0
Timothy Lee