本人对Web开发不是太熟悉,刚刚开始学,请大家指教!现在有两台服务器B和C,由于安全的原因他们都只能被A访问,现在要求客户端通过访问A来实现对B和C的访问,如输入http://A.com/B则访问的是B服务器,访问C则需要输入http://A.com/C,所有的通信过程都在客户端和A之间发生,客户端根本看不到B和C。请问在A上怎么实现这样的访问?用HttpServlet的doGet和doPost可以实现吗?

解决方案 »

  1.   

    请问在A上怎么实现这样的访问?
    只要B、C的文件,A能访问就可以。用HttpServlet的doGet和doPost可以实现吗?
    可以
      

  2.   

    pirateRocy(海盗罗西) ( ) 信誉:100    Blog 能讲详细点吗?或者给个例子看看。谢谢。
      

  3.   

    如果你使用apache服务器,则可以配置ProxyPassProxyPass 指令
    说明: 将一个远端服务器映射到本地服务器的URL空间中
    语法: ProxyPass [路径] !|url
    上下文: 服务器配置, 虚拟主机
    状态: Extension
    模块: mod_proxy指令对于您不想对某个子目录进行反向代理时很有用。比如说:ProxyPass http://A.com/B http://B.com
    ProxyPass http://A.com/C http://C.com将会代理除对/mirror/foo/i请求之外的所有对 foo.com 的/mirror/foo请求。
      

  4.   

    cyfnjtu(迎风) ( ) 信誉:100    Blog 
    感谢,我先试试。
      

  5.   

    还是有问题,如果http://B.com/c.html这样的超链接,就会暴露b.com,我希望这样的链接可以自动转换成http://A.com/B/c.html似乎可以用Apache模块 mod_rewrite搞定,但是不是复杂了点。
      

  6.   

    你可以在A上写后台JAVABEAN来访问B和C
    完全没有问题呀
      

  7.   

    yuanhen(只有比较才会进步!) ( ) 信誉:100    Blog  2006-11-08 21:28:00  得分: 0  
     
     
       还是有问题,如果http://B.com/c.html这样的超链接,就会暴露b.com,我希望这样的链接可以自动转换成http://A.com/B/c.html似乎可以用Apache模块 mod_rewrite搞定,但是不是复杂了点。
      
     
    ----------------------------------------------------------------------------------刚才把mod_rewrite的文档,认认真真看了一遍,发现我上面的想法是错误的:mod_rewrite无法替换b.com和c.com生成的页面超链接,它的作用仅仅是变换请求的URL.
      

  8.   

    twinking() ( ) 信誉:100    Blog 
    ---------------------------------------
    能具体说说吗?
      

  9.   

    A访问B和C是通过什么方式?网络共享还是WEB服务?
    网络共享就把B和C的共享磁盘映射到本地硬盘。
    WEB服务就不太清楚了。
      

  10.   

    xiangbo520(充栋汗牛) ( ) 我上面写了是http,当然是web服务咯。
      

  11.   

    A不就是外网能访问,B,C是内网的。
      

  12.   

    用过滤器可以实现
      客户端去访问A服务器,触发一个过滤器,分解IP地址后得到对应地址的URL地址,在用forward到新的URL地址,因为是forward 过去的所以,IE URL地址上还是A服务器的地址,实际访问是B服务器的页面
      

  13.   

    还是有问题,如果http://B.com/c.html这样的超链接,就会暴露b.com,我希望这样的链接可以自动转换成http://A.com/B/c.html似乎可以用Apache模块 mod_rewrite搞定,但是不是复杂了点。刚才把mod_rewrite的文档,认认真真看了一遍,发现我上面的想法是错误的:mod_rewrite无法替换b.com和c.com生成的页面超链接,它的作用仅仅是变换请求的URL.再仔细看一下,仔仔细细看一下:)
      

  14.   

    谢谢各位,我已经用mod_html_proxy搞定了。
      

  15.   

    学习中!
    好像除了在A上实现Web Service的客户端,调用B或C上的Web服务外,真想不到还有这样的方法,真神奇!
      

  16.   

    客户向A请求123.html,123.html在B上,那A就向B请求一个123.html,得到这个文件然后发给客户,就可以了