ASP.NET Web API 2控制器中的反向代理?

问题描述 投票:0回答:1

我正在尝试在Web-Api控制器中设置反向代理,因此我可以通过URI过滤请求并将其发送到各自目的地。

到目前为止,我在Node.js + Express中有一个反向代理,如下所示,我正在尝试迁移到WebApi控制器:

var serverOne = 'http://localhost:8080/geoserver/TRAC/wms?';
var serverTwo = 'https://iden.com/ogc/wms?';
var serverThree = 'https://inspi.com/services/CP/wfs';

app.all('/geoserver', function (req, res) {
  apiProxy.web(req, res, {target: serverOne});
});

app.all('/idena', function (req, res) {
  apiProxy.web(req, res, {
    changeOrigin: true,
    target: serverTwo
    });
});

app.all('/inspire', function (req, res) {
  apiProxy.web(req, res, {
    changeOrigin: true,
    target: serverThree
    });
});

所以这基本上是我要实现的目标:

  • 如果收到localhost:65000/geoserver请求,请将其重新发送到serverOne
  • 如果收到localhost:65000/idena请求,请将其重新发送到serverTwo
  • 如果收到localhost:65000/inspire请求,请将其重新发送到serverThree

我一直在研究使用处理程序或安装第三方组件的不同方法,但不确定这些方法是否正确。

我应该使用哪种技术或技术来设置反向ASP.NET Web API 2中控制器上的代理服务器?

c# proxy asp.net-web-api2 handler
1个回答
0
投票

不可能直接在WebAPI控制器中,但是可以很容易地将ASP.NET处理程序添加到项目中。

enter image description here

然后根据here创建反向代理>

© www.soinside.com 2019 - 2024. All rights reserved.