Linux

提供我網站內容的未知域

  • June 4, 2019

我發現一個未知的域就像www.aaa.com為我的網站提供完全相同的內容(html、js、css、任何資產)myname.me:.

在此處輸入圖像描述

例如,API 也會www.aaa.com/api/user獲得與myname.me/api/user.

如何阻止此域為我提供服務?

它是如何做到這一點的,直接重定向到我的域?代理?域名系統?

我使用 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;
   }
}

您的描述表明您的 IP 地址已設置為您不擁有的另一個域名,因此該域的網路訪問者會看到您的網站。

要解決這個問題,您需要恢復 nginxserver附帶的預設 nginx 塊(或者在這種情況下,是 Ubuntu 的預設server塊的自定義版本)。預設情況下,此預設server塊不提供任何服務;到達它的所有東西都會進入 Debian“歡迎使用 nginx”頁面。您應該server為自己的網站設置單獨的塊。

請參閱@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),並且我的域正常工作。

引用自:https://serverfault.com/questions/969909