首页 > 解决方案 > 如何防止 nginx 响应特定的子域

问题描述

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

标签: nginxsshd

解决方案


如何防止 nginx 在此域上为我的网站提供服务?

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

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

然后,即使您有其他子域指向相同的 IP,也不会为它们提供网页。

作为一个附带问题,我如何拒绝对基本域的 ssh 访问?

除非您有两个不同的 IP 地址,否则将您的 SSH 放在子域上不会有太大的作用,因为 SSH 没有虚拟主机的概念。即,两个域将指向同一个 IP,SSH 服务将侦听该 IP 上的所有连接。


推荐阅读