我们的客户有一套(5-6)内部网/互联网应用程序,可以是自定义开发的,也可以是3d-party,位于各种Web服务器中,我们无法修改的应用程序 / control。
我们开发了一个门户网站应用程序(A),客户希望只通过A 访问其所有其他应用程序(B),这意味着如果用户直接输入B的应用程序URL ,他得到一个错误页面,告知只允许通过A访问。因此,用户必须登录到应用程序A,然后单击指向应用程序B的链接才能访问它。出于安全原因要求此要求,并将A作为访问网关提供给其他应用程序(B)。
这是可能的,我们如何实现它?我们是否应该使用另一个 Web服务器作为代理到所有其他应用程序(B),还是有更好的解决方案?如果我们使用其他网络服务器作为代理,我们应该使用用户ID - 令牌方法结合相应的会话Cookie 来实施引荐来源逻辑,以便应用B的网址不能被黑客攻击并且每个用户和会话都是唯一的?
很抱歉,如果我不明确地或以错误的方式陈述我的问题,但我不熟悉网络/系统管理和网络服务器。我可以根据需要提供更多细节。
答案 0 :(得分:2)
这里有不同的方法:
1.使用防火墙设置仅从A IP地址访问B http {s}端口
2.在httpd.conf中为aps B目录设置目录限制,如:
<Directory "/var/www/B">
AllowOverride None
Order allow,deny
Allow from <IP of A>
</Directory>
在APS中创建一个链接(http://ip_A/accesstoB/somepath/script.php
),它将使用.htaccess规则代理到B:
RewriteRule ^accesstoB/(.*)$ http://<ip_B>/$1 [P]
在此示例中:访问http://ip_A/accesstoB/somepath/script.php
链接的客户将代理到http://ip_B/somepath/script.php
答案 1 :(得分:1)