另外两个选择:
是的,这是一种常见的做法。事实上,当你的网络服务器需要从数据库中获取一些数据时,它的工作原理是相同的(不是公开暴露的 - 例如,不是在webserver DMZ中)。
但是你需要能够使用动态页面生成(而不是静态html。假设你的web服务器允许PHP或java)。
您的页面执行相当于HTTP GET(或POST,或任何您喜欢的)的第二台服务器,发送您需要的任何所需参数。您可以使用cURL库,也可以使用fopen(http://)等。
它接收结果,检查返回码,也可以做optionnal内容操作(比如替换一些文本或URL)
它将结果发送回用户的浏览器。
如果您不能(或不会)使用动态页面生成,则可以将Web服务器配置为将某些请求代理到第二台服务器(例如使用Apache的mod_proxy)。
例如,当请求到达服务器1以获得URL“http:// server1 / reports”时,web服务器将请求代理到“http:// server2 / internal / reports?param1 = value1& param2 = value2& etc”。
用户将获得“http:// server2 / internal / reports?param1 = value1& param2 = value2& etc”的结果,但永远不会看到它的来源(从他的角度来看,他只知道 HTTP://服务器1 /报道 )。 您可以执行更多复杂的操作,将代理与URL重写相关联(因此您可以在对server2的请求中使用对server1的请求的某些参数)。
如果不够清楚,请不要犹豫,提供更多细节(o / s,网络服务器技术,网址等),以便我给你更多提示。