如何将nginx中不存在的子域重定向到404

问题描述 投票:0回答:1

我的网站上有一个有效的子域;它和主域一起工作。但我想知道,如果有人进入伪造的子域怎么办?

我有这样的规则:

# throw away all other subdomains
server {
  server_name ~^(.*)\.foo\.to$ ;

  return 301 https://foo.to/notfound;
}

我以为这可以解决问题,但浏览器却抱怨:

DNS address could not be found.

当然,我认为这是有道理的。但为什么当我转到不存在的 GitHub Pages 子域(https://adfljaslfdjalsfdkjalfgsjklakfgjlajrgiajeroigjtaoi4jto.github.io/)时,that确实发送了 404?我该如何模仿?

nginx dns http-status-code-404 subdomain digital-ocean
1个回答
0
投票

如果有人谷歌到这里:

花了一些时间研究后,我发现这很容易。

首先,我们必须禁止所有带有通配符的服务器:

server {
  listen 80;
  server_name *.example.com;
  return 404;
}

然后您可以将所有已知的子域定义为服务器。

© www.soinside.com 2019 - 2024. All rights reserved.