我已经在 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>
...
我怎样才能防止这种行为?
删除该
address=
行并将example.com
您要解析的主机放入/etc/hosts
.