【问题标题】:Nancy proxy requests南希代理请求
【发布时间】:2017-05-05 04:54:57
【问题描述】:

是否可以在南希的特定地址上代理请求?

例如,当有人在http://localhost:1234/need-to-proxy 上发出请求时,Nancy 应该向http://another-server:9000/api 发送请求并从该服务器返回响应。

【问题讨论】:

    标签: c# .net nancy


    【解决方案1】:

    您是否需要转发所有请求数据 - 查询字符串、发布数据、标头等?它绝对有可能,问题是“为什么”。市面上有很多反向代理软件,它们的性能很可能比您需要编写的任何软件都好。

    如果您需要检查传入的请求,并为内部服务构建一个不同的请求,那么编写自己的代码是有意义的。

    您可以为传入请求创建异步路由,对内部服务进行异步调用,按摩响应(如果需要)并返回。调用另一台服务器与您通常在路由中执行的任何其他工作没有什么不同。

    【讨论】:

    • 在我的应用中实现代理的主要原因是我无法在我们的客户服务器上安装反向代理软件。另外,我认为这对我的任务来说太过分了。实际上,我需要将 1 个 GET 请求和 1 个 POST 请求转发到外部服务器。
    • @SunnyMilenov 你能为非 .NET 开发人员解释一下吗?
    • @A.MatíasQuezada:nancy 是一个 .Net 框架,所以我不明白你的问题。
    • @SunnyMilenov 非 .NET 开发人员也可以在 .NET 上进行开发。也许 .NET 专家或专家会是一个更好的词。就我而言,当我无法迭代它时,我看不到如何转发例如 Request.Query。
    【解决方案2】:
    Get["/"] = parameters =>
        {
            return this.Response.AsRedirect("http://google.com");
        };
    

    【讨论】:

    • 请为您的答案添加一些解释。 SO不鼓励仅使用代码的答案。谢谢。
    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性 cmets 挤满你的代码,因为这会降低代码和解释的可读性!
    猜你喜欢
    • 2014-09-13
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多