Tawk.to(免费实时聊天脚本)产生 400 Bad Request Error
Tawk.to (free live chat script) produces 400 Bad Request Error
我安装了来自 tawk.to 的免费实时聊天。问题(除了他们没有对此脚本的客户支持)是 - 当它连接到 tawk.to 服务器时会产生“400 Bad Request”错误。我将以下代码添加到 .htaccess 以允许不同的来源,但它们不起作用 - 400 错误仍然出现。我不知道还应该做什么。
我在 .htaccess 中尝试了这些但没有成功:
SetEnvIf Origin "^(.*\.tawk\.to)$" ORIGIN_SUB_DOMAIN=
Header set Access-Control-Allow-Origin "%{ORIGIN_SUB_DOMAIN}e" env=ORIGIN_SUB_DOMAIN
Access-Control-Allow-Origin: *.tawk.to
响应头(假设我把这个脚本放在 EXAMPLE.com 上):
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encodinggzip, deflate, brAccept-Languageen-US,en;q=0.5Cache-Controlno-cacheConnectionkeep-alive, UpgradeCookie__tawkuuid=e::tawk.to::CZ4miEdTw+LJy27l6cezd/vgJ1Go/uVCmU/4mrr+WIe5uNur3LjRp6TAhWSTCS83::2; __cfduid=d8cf244362c2ead0f846b52cd84058bd31488522157DNT1
Host vs51.tawk.to
Origin https://EXAMPLE.com
Pragmano-cacheSec-WebSocket-Extensionspermessage-deflateSec-WebSocket-KeyBPkRsxjD+iWVmfb3LV8zpA==Sec-WebSocket-Version13UpgradewebsocketUser-AgentMozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
错误响应:
GET https://vs51.tawk.to/s/ [HTTP/1.1 400 Bad Request 162ms]
这是来自 tawk.to 的示例 Javascript(请注意它包含 'crossorigin"* 属性,但它仍然会产生错误):
<!--Start of Tawkto (example)-->
<script>
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src='https://embed.tawk.to/0111111111/default';
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
</script>
<!--End of Tawkto-->
更新 - 联系支持@tawk.to 无效(无回应)。但是我做了更多的研究——我发现了一些使用 tawk.to 聊天的网站,这些网站上也出现了 400 Bad Request 错误。所以它一定是 inherent/buggy 到 tawk.to 的脚本目前还没有解决,他们所有的客户都受到影响。
我安装了来自 tawk.to 的免费实时聊天。问题(除了他们没有对此脚本的客户支持)是 - 当它连接到 tawk.to 服务器时会产生“400 Bad Request”错误。我将以下代码添加到 .htaccess 以允许不同的来源,但它们不起作用 - 400 错误仍然出现。我不知道还应该做什么。
我在 .htaccess 中尝试了这些但没有成功:
SetEnvIf Origin "^(.*\.tawk\.to)$" ORIGIN_SUB_DOMAIN=
Header set Access-Control-Allow-Origin "%{ORIGIN_SUB_DOMAIN}e" env=ORIGIN_SUB_DOMAIN
Access-Control-Allow-Origin: *.tawk.to
响应头(假设我把这个脚本放在 EXAMPLE.com 上):
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encodinggzip, deflate, brAccept-Languageen-US,en;q=0.5Cache-Controlno-cacheConnectionkeep-alive, UpgradeCookie__tawkuuid=e::tawk.to::CZ4miEdTw+LJy27l6cezd/vgJ1Go/uVCmU/4mrr+WIe5uNur3LjRp6TAhWSTCS83::2; __cfduid=d8cf244362c2ead0f846b52cd84058bd31488522157DNT1
Host vs51.tawk.to
Origin https://EXAMPLE.com
Pragmano-cacheSec-WebSocket-Extensionspermessage-deflateSec-WebSocket-KeyBPkRsxjD+iWVmfb3LV8zpA==Sec-WebSocket-Version13UpgradewebsocketUser-AgentMozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
错误响应:
GET https://vs51.tawk.to/s/ [HTTP/1.1 400 Bad Request 162ms]
这是来自 tawk.to 的示例 Javascript(请注意它包含 'crossorigin"* 属性,但它仍然会产生错误):
<!--Start of Tawkto (example)-->
<script>
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src='https://embed.tawk.to/0111111111/default';
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
</script>
<!--End of Tawkto-->
更新 - 联系支持@tawk.to 无效(无回应)。但是我做了更多的研究——我发现了一些使用 tawk.to 聊天的网站,这些网站上也出现了 400 Bad Request 错误。所以它一定是 inherent/buggy 到 tawk.to 的脚本目前还没有解决,他们所有的客户都受到影响。