【发布时间】:2013-02-22 19:11:25
【问题描述】:
我有两台服务器。一个是私有服务器,我不希望用户可以直接访问它,另一个是公共可以访问的服务器。 我可以通过以下 URL 访问我的私人服务器:http://xxx.xx.xxx.xxx/
我想做的是创建某种“代理”,只用于我的私人服务器。我的想法是去:http://www.domain.com/server/path/here/something 这个页面应该显示http://xxx.xx.xxx.xxx/path/here/something的内容
我有这个工作,但我可以让它工作的唯一方法是将内容作为字符串返回,然后浏览器将解释 HTML。 这适用于返回 HTML 内容的页面,但如果我想直接访问 .gif 或任何类型的文件,它就不起作用(当然)。
这是我目前拥有的代码:
public string Index(string url)
{
string uri = "http://xxx.xx.xxx.xxx/" + url;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader responseStream = new StreamReader(response.GetResponseStream());
string resultado = responseStream.ReadToEnd();
return resultado;
}
如何更改我的代码以使其适用于任何文件?
【问题讨论】:
-
你不能使用真正的代理来实现这个吗??
-
不知道有没有更好的办法。我只想从我的私人服务器获取内容(使用我之前解释过的 URL),并将其显示在我的公共服务器上。
-
公共服务器可以直接访问私有服务器上的文件吗?还是必须是网络请求?
-
它不能直接访问它们。它需要是一个网络请求。
标签: c# .net asp.net-mvc proxy