0

我想在 Azure 中创建一个服务侦听器,它应该有一个暴露的端点,可以在其中发出 http 请求。

更具体地说,在 Azure 中为 Paypal IPN 实现一个侦听器。

非常感谢任何想法/帮助,并在此先感谢

4

1 回答 1

1

这是一个非常开放的问题。您可以通过多种方式做到这一点,但我将在这里提到三种方式。由于这只是一个 HTTP 请求,您可以使用云服务、Windows Azure 网站或虚拟机。

如果您将云服务与 Web 角色一起使用,则 HTTP 80 和 443 已配置为端点(如果您不使用 .NET,则可能需要确保在您包含在包中的服务定义文件中配置了端点) . 如果您正在编写此侦听器以托管在 IIS 中,那么您只需要像往常一样使用内置的侦听器代码部署 Web 角色。在 Internet 和 Windows Azure 培训工具包中有许多创建 Web 角色的示例。

如果您的侦听器代码托管在其他东西(例如 Windows 服务或可执行文件)中,则将云服务与辅助角色一起使用,那么您需要确保辅助角色的 OnStart 代码启动您的进程(安装任何需要通过启动任务安装)。此外,您需要将端点配置为 80 和/或 443,以便可以路由请求。然后侦听器将需要侦听您为端点配置的本地端口。同样,有很多设置工作者角色的例子,虽然没有那么多关于工作者角色的监听器。

如果您选择使用 Windows Azure 网站,我建议您使用标准版本,以便获得专用 VM 和自定义域 SSL 支持。我这么说只是因为您提到这将用于支付端点。除了 SSL 支持之外,共享和免费在它们周围有配额,在某些时候可能会导致您的付款电话被错过。如果您选择走这条路线,您可以创建一个正常托管端点的网站并部署到该网站。

最后,您还可以选择运行一个虚拟机,您可以安装几乎任何您需要的东西并部署到它,这与您在本地或其他托管服务提供商(如 Rackspace)的部署方式非常相似。这将是最麻烦的维护,因为您将负责确保在 VM 上处理所有补丁和维护。

我本人会建议云服务或可能倾向于云服务的网站。如有必要,请使用 VM 路由作为后备(例如要安装很多东西来处理侦听器的要求)。

注意:我会对托管的此侦听器的合规性进行大量研究。我不确定 IPN 中包含哪些信息,因此如果它包含敏感信息,例如支付卡数据,您可能属于 PCI 或类似的东西,这会给您带来问题。由于 PayPal 是支付网关,因此这些信息实际上可能对您隐藏,但我仍然想研究以验证您是否还好。

于 2013-11-07T08:15:22.653 回答