Linux
提供我網站內容的未知域
我發現一個未知的域就像
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 地址已設置為您不擁有的另一個域名,因此該域的網路訪問者會看到您的網站。
要解決這個問題,您需要恢復 nginx
server
附帶的預設 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),並且我的域正常工作。