我们的客户有位于不同Web服务器上的一组(5-6)个Intranet / internet应用程序,这些应用程序是定制开发的或3d-party的,我们无法修改/控制这些应用程序。
我们已经开发了一个Web门户应用程序(A),客户端希望仅通过A来访问其所有其他应用程序(B),这意味着,如果用户直接输入B的应用程序URL,他将得到一个错误页面,告知该访问是因此,用户必须登录到应用程序A,然后单击指向应用程序B的链接才能访问它。出于安全原因,已要求此要求,以使A充当其他应用程序(B)的访问网关。
这可能吗,我们如何实现呢?我们是否应该在顶部使用其他Web服务器作为所有其他应用程序(B)的代理,还是有更好的解决方案?而且,如果我们使用另一台Web服务器作为代理,是否应使用用户ID-令牌方法结合适当的会话Cookie来实现引荐来源网址逻辑,以使应用程序B的网址不会被黑,并且对于每个用户和会话都是唯一的?
抱歉,如果我不清楚地或以错误的方式提出了问题,但我不熟悉网络/系统管理和Web服务器。我可以在需要的地方提供更多详细信息。
这里有不同的方法:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句