仅从一个内部服务器反向代理

我已经configuration了一个反向代理服务器,并正常工作一个内部服务器,例如我们的邮件服务器。

现在,我想知道是否可以为一个服务器/应用程序(在本例中是我们的Web Intranet)configuration反向代理。

我们的问题是Intranet调用同一个Intranet服务器和另一个内部服务器内的另一个应用程序,我知道发布这个资源的唯一方法是在我们的dmz apache中为所有apllications服务器做一个反向代理,但是我喜欢从我们的DMZ反向apache只有内部网将被调用,其他应用程序将被内部网服务器调用,而不是反向代理。 为了安全起见,我喜欢用这个系统进行configuration,只允许外部访问一台服务器。

我configuration了Debian Squeeze和apache 2.2

有可能的? 怎么样?


我会尝试提供更多关于我的环境和我想要做的事情的信息。

我有一个服务器在dmz有一个域发布DNSlogginghttps://intranet.domain.com与Apache 2configuration为本地内部网服务器( https:// local_ip / intranet / )在dmz阿帕奇configuration的反向代理:

<Proxy /intranet/> ProxyHTMLLogVerbose On ProxyHTMLURLMap ttps://local_ip/intranet/ /intranet/ ProxyHTMLURLMap / /intranet/ # ProxyPass ttps://local_ip/intranet/ ProxyPassReverse ttps://local_ip/intranet/ </Proxy> 

(/ app3)ttps:// local_ip / app2作为(/ app2)ttps:// local_ip / app3作为(/ app3)调用另一个应用程序调用相对pathttps:// local_ip / app1应用程序位于其他服务器上,并使用绝对path从Intranet服务器调用,例如:ttps:// server4 / app4 ttps:// server5 / app5

此时我可以通过https://intranet.domain.com/intranet/从外部源(Internet)访问我们的Intranet,但是如果我想允许访问从Intranet服务器调用的其他应用程序,则必须将每个应用程序configuration为反向代理并允许dmz /反向代理服务器和local_ip,server4,server5之间的通信…我们只允许在dmz / reverse-proxy和local_ip(intranet服务器)之间进行通信,因为其他应用程序只能从Intranet中调用,而我们希望限制可访问其他Intranet服务器的服务器的ips

如果我在逆向代理中configuration了每个应用程序app4,app5,app1,app2,app3和/ intranet,但这需要将所有应用程序configuration为反向代理,并使用dmz

现在的作品….

 Internet<--->dmz/reverse-proxy<------>https://local_ip/intranet <--------------------->/app1 <--------------------->/app2 <--------------------->/app3 <--------------------------------->https://server4/app4 <--------------------------------->https://server5/app5 

我喜欢用这个结构进行configuration:

 Internet<--->dmz/reverse-proxy<------>https://local_ip/intranet <----->/app1 <----->/app2 <----->/app3 <----->https://server4/app4 <----->https://server5/app5 

此configuration的原因是限制从外部访问到内部服务器的直接访问,并且只允许从代理直接访问内部网服务器。 有可能的? 我怎样才能做到这一点? 最后一个问题,当你从itnernet访问intranet或其他内部应用程序时,如何隐藏url,只显示https://intranet.domain.com作为固定的url?

如果我正确地理解了你,我不确定我是否诚实,那么你可以。

你没有提到你如何做反向代理,但如果你还没有这样做,我的build议是使用mod重写。

想象您有以下内容:称为private.mydomain.com的内部服务器,托pipe一个应用程序,可以称之为myApp,您希望通过您面向世界的Web服务器向公众提供。 这个应用程序在http://private.mydomain.com/myapp

您的公共服务器称为www,并且您想让应用程序在www.mydomain.com/myapp上可见

你可以在公共服务器上使用Modrewrite,像这样:

 RewriteEngine on RewriteRule ^/myapp(.*) http://private.mydomain/com/myapp$1 [P,L] 

(如果您想要反转代理HTTPS URL,则还需要SSLProxyEngine On