【问题标题】:Bind Asp.NET WebApi through port 21通过端口 21 绑定 Asp.NET WebApi
【发布时间】:2014-08-19 10:58:45
【问题描述】:

这可能不是这个问题的正确位置,因为它是网络的一部分,但在这里。

我想组合一个 WebApi(使用 ASP.NET MVC WebApi 框架),供我们网络外部的客户端机器使用。然而,客户端机器通过代理服务器解析网络流量,我们的软件没有对其进行身份验证。我们注意到,虽然传出 FTP 连接是可能的。

所以我想知道我们是否可以托管 webapi 并让客户端机器通过端口 21 连接?这甚至有意义吗?对不起,如果这是一个愚蠢的问题。

【问题讨论】:

    标签: asp.net-web-api


    【解决方案1】:

    我设法找到了一些答案,并认为我会分享给任何可能感兴趣的人。

    将 WebApi 绑定到 80 以外的端口

    这是可能的,但很棘手。当您将 Api 项目发布到 IIS(或托管它的任何地方)时,您只需将其绑定到备用端口。然后,您还要确保在路由器中转发该端口。然后,API 的客户端只需使用您的自定义端口指定主机以通过该端口访问端点:http://myhostname.com:21/api/values 或其他。

    并发症

    测试端点可能很棘手,因为 Chrome 会阻止通过某些端口发送的 HTTP 流量 - 端口 21 就是这样一个端口。因此,要对其进行测试,您需要编写一个可以访问端点的客户端 exe,以确保它们正常工作(如控制台应用程序)。

    尽管弄清楚了所有这些,我仍然无法通过防火墙连接。我怀疑某些配置阻止了流量,因为即使它通过开放端口 (21) 流出,它也不是 FTP 流量:它是 HTTP 流量。

    解决方案

    我想到 SOAP 通过一系列协议(FTP、SMTP、HTTP 等等)运行,并将其消息格式化为 XML。因此,在这种情况下,通过端口 21 使用 SOAP 服务而不是 严格 HTTP 的 REST 会更有意义。

    【讨论】:

      猜你喜欢
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 2014-11-13
      相关资源
      最近更新 更多