NGINX 将所有域名重定向到一个

NGINX 将所有域名重定向到一个

我只想要 www.mydomain.com、121.121.121,其他任何东西都应该重定向到 www.mydomain.com。

原因:我需要将所有内容发送到 www.mydomain.com,因为有人设置了指向我们 IP 地址的其他域 (www.otherdomain.com),因此它就像我们网站的镜像一样。我们不知道他们为什么这样做,但 Google 开始抓取他们的网站,就好像它是一个完全不同的网站一样,这会带来麻烦。我需要允许服务器的 IP 地址通过,因为我们通过自定义 API 将其用于内部服务器聊天,以绕过负载平衡器。

答案1

您的问题含糊不清,并且您没有包含 Nginx/服务器配置。如果这不能回答您的问题,请编辑您的问题以包含它们。

我认为您问的是,如何仅通过您的实际网站提供内容,而不允许指向您服务器的其他域提供内容。但是您使用了重定向一词,这让我想知道您是否想将浏览这些其他域的人重定向到主域。

实际上,你可能无法完全阻止这种情况。人们可能会直接抓取你的网站并发布副本。不过,你可以让这种情况变得更加困难。比如

# Existing server block
server {
  server_name www.example.com;
  listen 443 ssl http2;
  location / {
    # whatever
  }
}

# Existing server block to redirect http to https
server {
  server_name www.example.com example.com;
  listen 80;
  return 301 https://www.example.com$request_uri;
}

# Existing server block to redirect https root domain to https wwww
server {
  server_name example.com;
  listen 443 ssl http2;
  return 301 https://www.example.com$request_uri;
}

# New server block
server {
  server_name _;
  # Next two lines say listen http/https for all other domains than example.com
  listen 443 ssl http2 default server; 
  listen 80 default server;

  return 301 https://www.example.com$request_uri;
}

相关内容