2016-07-31 33 views
0

我一直在尝试与我的托管服务提供商进行一个多月的沟通,但我99%确定他们甚至不读取门票并响应随机生成的字符串话。共享主机帐户上的SSL握手错误

我搜索了几个星期的答案,我看到一些关于更新Java或修改我无权访问的文件的提及。现在,这是对我来说发生的事情。如果我尝试验证我的域名与W3C或尝试验证Twitter的卡,我不断收到SSL握手错误:

ERROR: Fetching the page failed because SSL handshake error.

我从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之外的任何配置 - 我将不胜感激任何帮助或提示,即使它只是告诉我我是SOL。

+0

你究竟在哪里得到错误?假设那是你的网站,https://iadb.com/似乎工作正常。 –

回答

0

openssl s_client和数据包捕获一些测试显示,您的服务器级别的警告,如果你访问该主机为iadb.com但使用www.iadb.com如hostname当TLS警报不会发生返回TLS警报unregognized_name。但是由于您从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。另一种方法是修复根据您的描述只能由托管服务提供商完成的服务器配置。

+0

我想这是总的感觉。由于SSL具有通配符,因此可能未配置为正确处理裸域。我强迫www。使用htaccess来代替。这可能会对搜索引擎造成问题,但应该从长远来看付出代价。谢谢Steffen – user2706469