我已经尝试与我的托管服务提供商进行了一个多月的沟通,但我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。
答案 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
。另一种方法是修复服务器配置,根据您的描述,只能由托管服务提供商完成。