我在 ubuntu 实例上安装了 dnsmasq DNS 服务器,并在配置中添加了域名。它运行良好,只是它解析未知主机的方式与解析域名的方式相同。
这是我的配置:
/etc/dnsmasq.conf
# domain name
domain=example.com
local=/example.com/
address=/example.com/127.0.0.1
listen-address=127.0.0.1
/etc/hosts
127.0.0.1 localhost
172.217.16.195 www.google.com
10.10.1.x testhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
我已经在“示例”实例上安装了 nginx 服务器,因此当我向端口 80 发送 GET 请求时,我希望看到默认页面,并且一切按计划进行:
curl example.com
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
在“testhost”实例上,我安装了返回“hello world”的简单服务器,它也运行良好。
curl testhost.example.com
hello world
但是,当我请求一个不存在的主机时,它会被重定向到“示例”主机:
curl random-string-asfasfasfasf.example.com
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
我怎样才能阻止这种行为?
答案1
删除该address=
行并将example.com
您想要解析的主机放入其中/etc/hosts
。