我在访问最近在服务器端获得 SSL 安全性的网站时遇到了问题。
正常访问该网站没有问题,但是当我尝试在托管该网站的服务器上打开该网站时,它根本无法打开。
这不是该服务器上唯一的网站,我可以访问所有网站,除了那些有SSL 安全。
这会导致问题,因为相关网站包含API 服务其他一些网站也需要连接这个API。
但通过连接到此网站xmlHttpRequest(和其他类似代码)不起作用。
当所有功能都可通过 API 获得时,我更愿意不必为这些其他网站重写所有代码。(这也意味着随着服务的发展和变化,需要在很多不同的地方进行更改。)
什么原因可能导致该问题?我该如何解决它?
编辑:此服务器上还有另一个受 SSL 保护的网站,但我对其状态的了解有误。此网站可在服务器端访问。我将检查服务器上 IIS 和防火墙的所有设置,以找出它们行为不同的原因。
编辑:我找到了一个解决方案,即更改重写规则(强制使用 https),使其不适用于内部地址 (127.0.0.1)。我现在可以从服务器端访问该网站。
这并不能解决问题,这只是避免问题的临时解决办法。
答案1
可以为网站添加主机条目并使用域名访问。这样 SSL 握手就可以正常工作
答案2
如果您通过名称访问网站localhost
,而您的 SSL 证书配置为主机名(或其他名称),您的客户端可能会拒绝连接。如果不知道具体细节,很难说如何解决这个问题,但您可以尝试使用 SSL 证书中的名称发出请求,或者尝试关闭客户端服务器验证,但这样您就会失去 SSL 提供的安全性。