从外部服务器客户端点击内部网络休息服务
本文关键字:网络 服务 内部 服务器 客户 客户端 端点 从外部 | 更新日期: 2023-09-27 18:20:56
我正在尝试编写客户端代码,以在另一个不包含公共ip地址的内部服务器上访问rest服务。正因为如此,我正试图编写一个小型web服务,以获取所需的id,并从web服务器访问其余服务。
我创建了一个web服务,如下所示,从web服务器访问其余服务,虽然我成功了,但客户端
<System.Web.Services.Webmethod()> _
Public Shared Function GetService(ByVal id as Integer) as String
dim serviceUrl as string = "http://192.168.0.87/rest/services/"
dim httpWebRequest as System.Net.HttpWebRequest = System.Net.WebRequest.Create(serviceUrl)
httpWebRequest.ContentType = "text/json"
httpWebRequest.Method = "GET"
dim httpResponse as System.Net.HttpWebResponse = httpWebRequest.GetResponse()
Using streamReader as new System.IO.StreamReader(httpResponse.GetResponseStream())
Return streamReader.ReadToEnd()
End Using
End Function
虽然这对一个调用来说是正确的,但同一个调用的结果会引用URL进行进一步的服务调用,例如获取图像等。
是否有任何.Net应用程序,或任何解决方案可以编写具有外部ip地址和特定路径的服务,并自动将地址服务器端重定向到内部ip地址的rest调用中。
例如,如果客户端命中CCD_ 1,它将通过中间人服务自动转换为CCD_。
例如,203.141.86.2/rest/services实际上是一个真正的地址,它只会转换之后的所有内容并将其放入新地址。注意:现有的解决方案是用web表单编写的,而不是用MVC编写的,所以我不确定是否需要设置一个新的IIS应用程序来将这些调用转换作为webapi来处理。
它基本上就像NAT服务。
有人有什么解决方案吗?提前谢谢。
您试图实现的是反向代理。试试nginx。http://nginx.org