我需要从服务器A 到服务器B 执行CURL请求。
某些敏感信息将从服务器A 中解析,我需要保护这些信息。
问题是,服务器A 将是许多不同的服务器: 这将在类似于WordPress的项目中实现,用户下载软件并将其安装在他们的域上(服务器拥有用户域,将是服务器A )。所以我希望我不需要在服务器A 上使用SSL,因为这意味着我必须强迫我的用户购买SSL证书。
那么,在CURL请求中发送敏感信息时,我是否需要双方使用SSL,或者我可以在服务器B 上使用SSL,并且它仍然是安全的吗?
欢迎任何其他建议。 :)
答案 0 :(得分:2)
就从服务器A 到服务器B 的连接而言,服务器A 不是服务器,它是客户端。您将需要针对SSL / TLS库编译cURL以支持HTTPS连接,但cURL(或任何使用libcurl的用户)将充当客户端。
我怀疑现在大多数cURL安装是针对OpenSSL或LibNSS编译的。据推测,您可能通过PHP引用cURL,在这种情况下,您应该能够在phpinfo
中检查它。 (只是尝试建立与https
URL的连接也可能会给你一个指示:如果你得到的错误是“这不是用SSL支持编译的”,你可能需要升级你的PHP / cURL安装。)
您在客户端可能需要做的是配置您愿意信任的CA证书(例如任何HTTPS连接)。 cURL作为设置CA文件/ CA路径的选项。
此外,虽然没有严格要求在服务器A (客户端)上启用HTTPS,但您可能需要考虑它,具体取决于您是否显示从<获取的任何敏感信息由服务器A 提供服务的页面上的em> Server B 。是否需要这取决于您对此信息的处理方式。 (请注意,在这种情况下,在服务器A 上启用SSL几乎与配置客户端完全分开。)
答案 1 :(得分:1)
在服务器A上拥有SSL是必要的,因为从那里你将“机密”数据发送到服务器B.没有必要在服务器B上使用SSL。
如果您真的无法承担所有服务器上的SSL费用,请选择加密 - 解密算法。
服务器A - &gt;加密数据 - &gt;发送到服务器B - &gt;在服务器B接收加密数据 - &gt;服务器B解密数据
答案 2 :(得分:1)
SSL不在服务器上“;这是一种安全连接服务器的方法。您需要在其中一个上拥有SSL证书(在这种情况下,服务器B将拥有证书)。然后,服务器A将使用到服务器B的SSL客户端/ SSL连接来传递信息。根据设置,可以使用内置工具轻松完成SSL连接(如CURL或PHP,或者其他所有内容都允许某种方式打开SSL连接)