代理服务器后面的名称parsing

使用Linux(Debian)

在我现在的工作地点,我在一个ISA代理服务器后面,我不能在这台机器上做任何改变。

我正在开发软件,并使用kvmbuild立虚拟机,几乎一切正常。 虚拟机在虚拟networking192.168.122.0上

在/ etc / profile中我有以下的环境variables:

http_proxy=http://xxxx:8080/ no_proxy=localhost,192.168.122.0/24 

我在/ etc / hosts中有VM的名字。

在主机上,我可以ping通虚拟机,并通过名称连接到ssh。

我不能使用浏览器连接到虚拟机上运行的Apache服务器,名称parsing传递给ISA服务器,我得到一个失败,显示主机名无法find(不惊讶企业DNS不知道我的虚拟机)..

所有的浏览器都一样,所以

 elinks http://vmname 

即使失败了

 elinks -lookup vmname 

为VM返回正确的IP地址。

但是,“getent hosts vmname”会为VM返回正确的本地IP。

如果我做 :

 http_proxy="" elinks http://vmname 

那么我可以通过HTTP连接好。

有没有configuration的地方,我错过了? 我看过/etc/nsswitch.conf&/etc/host.conf&/etc/resolv.conf

我注意到“host vmname”返回2(SERVFAIL)而不是3(NXDOMAIN)。 是否有可能configuration这样的,我可以连接到外部服务器和我的内部虚拟机,而无需重新configuration每个浏览器?

将虚拟机的名称添加到no_proxyvariables中。

 no_proxy=localhost,192.168.122.0/24,vmname 

这应该让你修好。 你的问题是,所有的浏览器都发送HTTP请求到你的ISA代理。

首先,您应该将<ip> vmname添加到您的本地/etc/hosts

然后,也可以在broswer设置中添加你的本地networking,以避免使用代理,就像你已经在/ etc / profile中完成了一样。

那么它应该工作。

如果您有代理,则DNS代理在代理中完成。 你不能改变这一点。 修改/ etc / hosts是没用的。 如果目标Web服务器没有虚拟主机,则可以尝试使用IP地址进行连接。 但是如果有虚拟主机,你不能做任何合法的事情。