我是否需要更改客户端代码以使用HTTPS作为我的API服务器上的HTTP的替代品



我已经设置SSL在我的web API服务器与https://letsencrypt.org/。现在,对SSL的工作原理有了一点了解,我想我需要对客户机代码进行更改,以便在执行实际请求之前从服务器获得证书。

是正确的,如果我使用纯HTTP之前,然后切换到HTTPS,我需要从客户端应用程序做不同的请求?

或者,它通常是开箱即用的无缝工作,所以我不需要考虑它是否是一个安全的连接?

您需要显式地将请求发送到HTTPS而不是HTTP。当然,还有其他方法可以强制使用ssl(比如在服务器上将所有请求从HTTP重定向到HTTPS)。

要明确地使用HTTPS,更改所有引用服务器的url(这意味着<a>标签,<img>标签,<script>, <style>等)。从http://..向服务器请求任何东西的任何东西。到https://..。

另一件需要注意的事情:当一个网站通过HTTPS提供服务时,该网站请求的所有资源也需要通过HTTPS请求,而不仅仅是你自己的东西。因此,如果您使用的css、图像、脚本等来自其他来源,而不是您自己的服务器,您也需要使用这些的HTTPS版本。如果您不这样做,浏览器会将您的页面标记为潜在不安全,因为您假设在安全连接(HTTPS)上运行,但从不安全的位置(HTTP)获取资源

最新更新