我们在防火墙后面有一些内部应用程序,这些应用程序无法通过Internet访问。我们正在尝试建立可访问Internet的门户(也可以访问我们的内部应用程序),并尝试为这两个应用程序提供菜单并通过iframe显示它们。
以下是应用程序详细信息:
门户-Tomcat + Apache
内部应用程序-一个是node.js应用程序,另一个是J2ee + tomcat应用程序
主机服务器-三种应用程序均不同
我们在这里面临两个问题:
1)互联网访问门户是安全的(HTTPS)。但是,内部应用程序不受保护,即HTTP。因此,浏览器显示警告消息“某些内容不安全”并阻止了该应用程序。是否可以通过编程方式抑制此警告,而无需手动更改浏览器设置?
2)内部应用程序正在运行防火墙,但是我们的门户网站可以访问Internet,也可以访问内部应用程序。当前,该应用程序未通过Internet显示。我们应该如何实施门户,以便我们可以绕过防火墙?
感谢您的投入。
最佳答案
在门户网站服务器上的Apache中配置反向代理,以将请求转发到内部应用程序,并让Apache处理https。这将同时解决1)和2),因为所有内容随后都可以通过https访问。
可以使用Apache模块mod_proxy完成Apache中的反向代理。您可以在Internet上找到许多示例,但这是一个简单的示例:
<VirtualHost *:443>
...
ProxyPass /foo http://internalserver/bar
ProxyPassReverse /foo http://internalserver/bar
...
</VirtualHost>
如果将其放在门户网站的Apache配置中,它将使内部应用程序
http://internalserver/bar
可从门户网站的https://yourportal/foo
访问。Here是一篇很好的文章,包含更多详细信息。