共享主机帐户上的SSL握手错误

时间:2016-07-31 05:59:54

标签: .htaccess ssl wildcard

我已经尝试与我的托管服务提供商进行了一个多月的沟通,但我99%确定他们甚至不会阅读门票并使用随机生成的字符串回复。

我搜索了几周的答案,我看到有关更新Java或修改我无法访问的文件的一些提及。现在,这就是我发生的事情。如果我尝试使用W3C验证我的域名或尝试验证Twitter卡,我会不断收到SSL握手错误:

  

错误:由于SSL握手错误,提取页面失败。

我有来自Comodo的通配符SSL。 如果我从.htaccess W3C中删除这些行验证,但Twitter卡没有:

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www.iadb.com$ [OR]
RewriteCond %{HTTP_HOST} ^iadb.com$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

不幸的是,如果我改变这一点,https不会以任何方式强制执行,更不用说它没有解决Twitter问题。同样,由于它是共享主机,我无法访问.htaccess以外的任何配置 - 我将不胜感激任何帮助或提示,即使它只是告诉我我&#39 ; M SOL。

1 个答案:

答案 0 :(得分:0)

使用openssl s_client和数据包捕获的某些测试显示,如果您以unregognized_name访问主机,则服务器会返回带有级别警告的TLS警报iadb.com,但是当TLS警报未发生时使用www.iadb.com作为主机名。但是,由于您从https://www.iadb.com重定向到http://iadb.com,最终会得到包含此TLS提醒的连接。

虽然TLS警报级别仅警告某些实现(openssl 0.9.8,Java)将其解释为导致握手失败的错误。这就是您在W3C验证器中看到的内容:

IO Error: handshake alert: unrecognized_name

虽然这个客户端软件显然表现不对,但服务器发送此TLS警报也很糟糕。我的猜测是,这是因为服务器仅针对主机名www.iadb.com而不针对iadb.com进行配置,但您明确使用后者名称。解决问题的一种方法是仅使用www.iadb.com。另一种方法是修复服务器配置,根据您的描述,只能由托管服务提供商完成。