问题描述
我的服务器使用Nginx搭建, 现在有一个场景如下:
A.com的A记录指向a.b.c.dB.com的A记录指向a.b.c.d
我的Nginx设置
listen a.b.c.d:80 default;server_name A.com;
目前访问B.com时也会默认打开我的站点, 并且站内资源也可正确被引用.
请问如何配置能够让B.com及其他域名无法访问?
我了解如果加入一条判断if{}可以把其他域名返回错误代码, 但如果有多个vhost, 配置起来会比较麻烦. 有没有更优雅, 通用的方式?
问题解答
回答1:你把默认域名配置成返回 403 的呗:
server { listen 80 default_server; location / { return 403; }}
参见: http://wiki.nginx.org/NginxVirtualHostExample