服务器1上装有2块网卡,网卡1配置公网IP互联网可以访问到该服务器
网卡2配置私网IP地址,连接服务器2在保证安全的前提下,外网怎样才能访问到服务器2?我曾经天真的以为只要将服务器1上程序的URL写成服务器2上的网站的IP地址就行了,结果发现访问不了,原来程序会认为客户要直接访问服务器2,因为服务器2的IP是私网地址所以无法访问。请教如何“委托”服务器1访问服务器2上的程序,然后返回处理结果给服务器1。百思不得其解,请大家指教。

解决方案 »

  1.   


    试过,不行的,服务器1访问服务器2是没问题的
    但是互联网客户没办法访问服务器2.我做过这个测试:在服务器1上的一个页面iframe src=服务器2的某个页面。在服务器1上看是正常的
    但是如果互联网正常访问的话看到的iframe是内容无法显示
      

  2.   

    那么你也可以这么做(实际上是用php程序充当路由器)
    不是
    在服务器1上的一个页面iframe src=服务器2的某个页面
    而是
    在服务器1上的一个页面iframe src=服务器1的路由器程序
    路由器程序完成从服务器2的某个页面获取数据就像从别的网站抓取数据到你自己的网站一样
      

  3.   


    那么你说的这个路由程序必须要是C/S结构的了?因为B/S的程序大多是解释执行的,没有运行到它它不执行,所以这个除了再做一个C/S的“代理”程序别的就没办法了
      

  4.   

    都 src=服务器1的路由器程序 了,你认为还要怎么运行它
      

  5.   


    好崩溃~~~要哭了,10年前学ASP的时候没听过这个名词,最近自学php也没看到教材有这个名词。你说的路由程序是B/S结构的还是C/S结构的?能介绍一下路由程序吗?
    如果按我现在的知识程度,我会用C/S写一个数据库监视的程序,需要访问服务器2的操作将由服务器1的程序写入数据库,然后C/S的程序就按照数据库的操作访问服务器2,服务器2把执行结果再写入数据库,这样服务器1就能获取服务器的执行结果了。这里,我用C/S程序当做了一个“路由器”,或者说“代理”,不知道是否是这个意思?
      

  6.   

    这个 就可以用apache 的转发 实现  我没有具体实验过  公司又不给我双网卡  我又买不起 网上找的配置你看下
    就是你直接在网卡a  服务器a上面创建好你的网站  吧需要访问内容的直接转发到你的内容 apache充当代理
    <VirtualHost 10。88。3。7:80 > 
    ServerAdmin [email protected] 
    ServerName 10.88.3.7 
    ErrorLog logs/rsa-error.log 
    CustomLog logs/rsa-access.log common 
    ProxyPass / http://10.88.3.5:7001 
    ProxyPassReverse / http://10.88.3.5:7001 
    </VirtualHost>