我目前正在从Windows应用程序编程(最近的C#/ WPF)过渡到Web编程。我提前为可能是一个补救问题而道歉。
这是独家新闻:
我开发了一个小的UI组件,它通过AJAX调用从我的服务器中检索一些行业特定的信息,并以优雅的方式显示它。我不确定网络程序员是否像Windows开发人员那样使用术语“组件”,但我只是指一组HTML代码,一个.css文件和一个.js文件。我想将这三个小文件打包成一个捆绑销售给许多客户[金融机构],以便他们可以将我的组件嵌入到他们自己的网站中。
该组件已经过测试。它适用于我的域名。但是当我试图允许外部用户使用他们自己的域上的信息时,我遇到了一个问题。问题是:
AJAX调用需要查询https://ajax.MyDomain.com,但我的客户网站位于https://www.SomeOtherDomain.com。我知道浏览器不允许这种跨站点调用有很多充分的理由。但Web开发人员如何处理这种情况呢?
我唯一能想到的就是告诉客户创建一个名为ajax.SomeOtherDomain.com的DNS CNAME,它指向ajax.MyDomain.com。然后该脚本可以指向该主机名,并且由于该主机名存在于客户的域中,这将解决跨站点问题(我想,我还没有尝试过)。但即使我击败了这个障碍,我仍然面临SSL证书问题。我的Web服务器需要绑定到名为“ajax.SomeOtherDomain.com”的证书才能处理入站AJAX调用。这需要得到客户的许可。要求金融机构购买新的证书(包含他们自己的域名!)并且只是让我在我的服务器上使用是太多了。即使他们同意,我也会对此感到不舒服。
我不能成为第一个面对这个问题的人。我应该采取什么方法?