首页  >  问答  >  正文

Nginx禁止其他域名访问

我的服务器使用Nginx搭建, 现在有一个场景如下:

A.com的A记录指向a.b.c.d
B.com的A记录指向a.b.c.d

我的Nginx设置

listen a.b.c.d:80 default;
server_name A.com;

目前访问B.com时也会默认打开我的站点, 并且站内资源也可正确被引用.

请问如何配置能够让B.com及其他域名无法访问?

我了解如果加入一条判断if{}可以把其他域名返回错误代码, 但如果有多个vhost, 配置起来会比较麻烦. 有没有更优雅, 通用的方式?

过去多啦不再A梦过去多啦不再A梦2712 天前426

全部回复(1)我来回复

  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:30:45

    你把默认域名配置成返回 403 的呗:

    server {
      listen 80 default_server;
      location / {
        return 403;
      }
    }
    

    参见: http://wiki.nginx.org/NginxVirtualHostExample

    回复
    0
  • 取消回复