为我的网站提供内容的未知域名

为我的网站提供内容的未知域名

我发现一个未知域名www.aaa.com提供与我的网站完全相同的内容(html,js,css,任何资产)myname.me:。

在此处输入图片描述

例如,API 也www.aaa.com/api/user获得与 相同的响应myname.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;
    }
}

答案1

您的描述表明,另一个不属于您的域名已设置为您的 IP 地址,因此该域名的网络访问者会看到您的网站。

要解决此问题,您需要恢复servernginx 附带的默认 nginx 块(或在本例中为 Ubuntu 的默认块自定义版本server)。默认情况下,此默认server块不提供任何服务;到达它的所有内容都会显示 Debian 的“欢迎使用 nginx”页面。您应该server为自己的站点设置单独的块。

答案2

请参阅@Michael Hampton♦ 的回答,下面是我修复它的方法。

添加默认服务器块(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),并且我的域名正常工作。

相关内容