所以我们的大多数开发人员使用重写规则来使用MAMP / XAMPP设置来将username.project.local
指向/Users/username/Projects/project/public_html
的文档根目录。 这部分工作,但问题是得到*。本地指向他们的机器。 而不是在每个开发人员的机器上解决这个问题,我想我可以添加一个规则在我们的内部DNS,因为我们已经有一个设置。
目前在/var/named/example.com我看到
@ IN SOA SERVER1.EXAMPLE.COM. dns.example.com.( 2013020501 ; Serial yyyymmddnn 3h ; Refresh After 3 hours 1h ; Retry Retry after 1 hour 1w ; Expire after 1 week 1h) ; Minimum negative caching of 1 hour ; NS Records @ 3600 IN NS DNS1.STABLETRANSIT.COM. @ 3600 IN NS DNS2.STABLETRANSIT.COM. ; MX Records @ 3600 IN MX 10 ASPMX.L.GOOGLE.COM. @ 3600 IN MX 20 ALT1.ASPMX.L.GOOGLE.COM. @ 3600 IN MX 20 ALT2.ASPMX.L.GOOGLE.COM. @ 3600 IN MX 30 ASPMX2.GOOGLEMAIL.COM. @ 3600 IN MX 30 ASPMX3.GOOGLEMAIL.COM. @ 3600 IN MX 30 ASPMX4.GOOGLEMAIL.COM. @ 3600 IN MX 30 ASPMX5.GOOGLEMAIL.COM. ; Google mail 3600 IN CNAME ghs.google.com. docs 3600 IN CNAME ghs.google.com. mail 3600 IN CNAME ghs.google.com. calendar 3600 IN CNAME ghs.google.com. sites 3600 IN CNAME ghs.google.com. ; A Records @ 3600 IN A ***.***.***.*** ; CNAME Records www 3600 IN A ***.***.***.*** ; Staging Environment server2 3600 IN A 192.168.1.1 *.server2 3600 IN CNAME server2.example.com. server3 3600 IN A 192.168.1.2 *.server3 3600 IN CNAME server3.example.com.
是否可以添加一个规则,使* .local将parsing为127.0.0.1?
就像Michael Dillon指出的那样 ,使用.local
作为内部TLD是一件坏事 – 它打破了RFC特定的服务(如果您好奇的话, RFC 6762 )。
我会把他的回答进一步说,使用任意的顶级域名是一件坏事。
ICANN现在允许注册任意顶级域名 。 这意味着你今天可以使用.secret
并且没有冲突,但是明天国家安全局可能会获得该TLD来发布他人的脏衣服,然后你就会和互联网上所有的.secret
域名发生冲突。 这是一个糟糕的情况。
使用DNS名称公开“内部资料”的最佳做法是使用您控制的注册域的子域。 例如,如果您拥有example.com
,则可以将开发站点放在dev.example.com
下。
从你的问题,它听起来像你想要的是“本地”的域名,总是指向127.0.0.1
,所以对于你的情况,我build议在你的内部DNS创buildlocal.example.com
两个logging:
local.example.com. IN A 127.0.0.1 *.local.example.com. IN A 127.0.0.1
然后开发者可以访问foo.local.example.com
,他们会被指向他们的本地机器( 127.0.0.1
)。 这需要更多的打字(您可以通过更改客户端上的DNS后缀search顺序来消除这种打字),但是可以确保您的名称空间不受任何通用顶级域名(gTLD)冲突的影响,并符合最佳做法。
如果你需要引用一些东西来说服你的组织中的其他人这是正确的事我build议MDMarra的优秀的博客文章,为什么你不应该使用Active Directory域的.local
– 这里阐述的理由延伸得很好任何与DNS有关的东西 。
一般来说,使用.local作为内部域是个不错的主意。 它与Bonjour / Rendezvous服务使用.local混合在一起。 最好select一个像.secret这样的名字
在那之后,你只要像.mycompany.com那样对待.secret,你自己托pipeDNS(主/从)。 您为.secret设置了一个区域文件并在内部提供。 在你的例子中,你不需要SERVER1.EXAMPLE.COM,你可以拥有一个用于SECRET的SOA。
考虑到其他职位,build议您不要使用无效的TLD,这当然是可能的。
你想要实现的是一个通配的DNSlogging 。 互联网search有很多智慧。
我希望这样实现它:
* IN A 127.0.0.1