如何防止 nginx 在特定子域上响应

How to prevent nginx from responding on a specific subdomain

我有一个网站(名字有点调皮),我想有一个专用的ssh子域,里面没有网站,但我可以用ssh。 如何阻止 nginx 在该域上为我的网站提供服务? 作为附带问题,我如何拒绝 ssh 访问基本域?

How do I prevent nginx from serving my website on this domain?

我通常将默认服务器设置为基于 IP 和 return 404,然后为我想要的特定域添加虚拟主机:

server {
    listen *:80 default_server;
    return 404;
}
server {
    listen *:80;
    server_name bar.com;
    ...
}

那么,即使您有其他子域指向同一个 IP,也不会为它们提供任何网页。

As a side question, how do I deny ssh access to the base domain?

除非你有两个不同的 IP 地址,否则将你的 SSH 放在子域上不会有多大作用,因为 SSH 没有虚拟主机的概念。也就是说,这两个域将指向同一个 IP,SSH 服务将监听该 IP 上的所有连接。