如何做没有DNS服务器的DNSredirect?

我们没有我们的内部网站服务器,所有东西都托pipe,但是我们希望能够使用简短的私人域名。 例如,我想能够input我们的浏览器“ http:// wiki ”,它将被redirect到公共URL“ https://mycompany.atlassian.net/wiki ”上的网页。

我可以使用主机文件在自己的机器上执行DNSredirect技巧。 有没有更好的方法,而不必要求团队中的每个人手动更改主机文件? 我们在办公室内没有任何私人networking服务器。 一切都在云端。

如何做没有DNS服务器的DNSredirect?

(我假设你的意思是CNAME ,因为DNS不redirect)根据定义,你不能。 除非你使用hosts文件hackery。 另外请注意,尽pipe您可以将主机名wiki CNAMEmycompany.atlassian.net您无法使用DNS将wikiredirect到mycompany.atlassian.net/wiki 。 有什么问题? /wiki在最后。 这不仅仅是一个主机名,而是通过HTTP提供的一个目录。 DNS没有这个概念。 DNS只知道主机名和域名。 如果您希望wiki被转发到mycompany.atlassian.net/wiki您需要HTTPredirect。

有没有更好的方法,而不必要求团队中的每个人手动更改主机文件?

如果CNAME ing使用DNS服务器,或者如果要将URLredirect到目录,则使用HTTP服务器。 你试图做互相排斥的事情,并将继续受挫,挫败。

但是我们希望能够使用简短的私人域名。

你想要的东西需要工作,但不想做的工作。 这将不会结束。 但是哈克! 我有解决scheme…

最好的解决scheme:

停止尝试快速DNS,而是使用与您的团队1浏览器书签中似乎存在的维恩图完美相交的正确工具

空白添加最大的效果!丹吉特降价,让我有广阔的空白无需任何祝福!

1维恩图将是:太懒惰键入长URL,同时不愿意做短url工作所必需的工作。

你想要的不仅仅是DNS,而是一个HTTPredirect。 http://wiki需要被定向到识别它的服务器,并将301302redirect到适当的地址。

因此,为了使您的本地networking能够正常工作,您需要一个适当configuration的Web服务器来为HTTPredirect服务,并且您需要一个本地DNS服务器,以便将请求发送到该Web服务器。

您的networking上可能已经有本地networking和/或DNS服务器,在这种情况下,configuration将需要适合您使用的任何types的服务器。

也就是说,假设你在192.168.1.2上有一个linux框,运行dnsmasq和nginx,然后下面的工作。 这是closures的袖口,而不是一个testingconfiguration。 它不应该太远,但我可能犯了一个错误。

在/ etc / hosts中:

 wiki 192.168.1.2 

在/ etc / nginx / sites-available中:

 server { listen 80; server_name wiki; rewrite ^ $scheme://mycompany.atlassian.net/wiki permanent; } 

你需要一个符号链接:

 ln -s /etc/nginx/sites-available /etc/nginx/sites-enabled 

重新加载你的nginxconfiguration:

 service nginx reload 

确保您的路由器上的dhcp指向用户名为192.168.1.2的名称服务器,您应该是正确的去。

另一个答案在我看来是准确的,但是本着回答你的问题的精神,hosts文件是我能想到的唯一select。

如果您正在运行Windows并在Windows域中,则可以使用组策略将主机文件推送到桌面,并且只需维护一个文件。

如果您位于多个平台上,则仍然可以使用可以手动运行的networking共享和脚本来执行相同操作,以将更新提供给主机文件。

您也可以运行一个代理服务器,使用它的特定规则将匹配http:// wiki的请求转发到特定的FQDN,但是您需要让每个人都configuration代理设置,运行代理服务器等。

所有这些工作真的值得告诉人们使用书签还是input完全限定的URL?