Khắc phục lỗi tawkto bị chặn tại Việt Nam

23/04/2024 - lượt xem
Chia sẻ
 
Rate this post

Tawkto là một phần mềm chat miễn phí phổ biến được nhiều website ở việt nam sử dụng. Tuy nhiên vì 1 số lý do liên quan tới phân giải DNS nên khi khách hàng truy cập website sử dụng tawkto đều không hiển thị.

Để khắc phục vấn đề này chúng ta có thể có nhiều phương án khác nhau như thay đổi phần mềm chat hoặc đơn giản là ngồi đợi Tawkto xử lý

Trong bài viết này sẽ hướng dẫn cấu hình Proxy để có thể khắc phục tạm thời sự cố này

 

Cấu hình Proxy cho domain chính cần thay thế, ví dụ là abc.onlinenhư sau

#PROXY-START/
<IfModule mod_proxy.c>
    ProxyRequests Off
    SSLProxyEngine on
    ProxyPassMatch ^/v1(/.*)?$ https://va.tawk.to/v1$1
    ProxyPassReverse /v1 https://va.tawk.to/v1/
    
    ProxyPass / https://embed.tawk.to/
    ProxyPassReverse / https://embed.tawk.to/
    
    SetOutputFilter INFLATE;SUBSTITUTE;DEFLATE
    RequestHeader unset Accept-Encoding
    AddOutputFilterByType SUBSTITUTE text/html
    AddOutputFilterByType SUBSTITUTE text/css
    AddOutputFilterByType SUBSTITUTE text/javascript
    AddOutputFilterByType SUBSTITUTE text/plain
    AddOutputFilterByType SUBSTITUTE text/xml
    AddOutputFilterByType SUBSTITUTE application/json
        
    AddOutputFilterByType SUBSTITUTE application/javascript
    AddOutputFilterByType SUBSTITUTE application/x-javascript
	AddOutputFilterByType SUBSTITUTE x-application/javascript
    
    Substitute "s|embed\.tawk\.to|abc\.online|i"
    Substitute "s|va\.tawk\.to|abc\.online|i"
    Substitute "s|vsa(.+?)\.tawk\.to|vsa$1.abc\.online|i"
    Substitute "s|www\.tawk\.to|abc\.online|i"
    

    </IfModule>
#PROXY-END/

Với cấu hình trên đây sẽ thực hiện

Toàn bộ request mà bắt đầu bằng /v1 sẽ được điều hướng sang link tương ứng va.tawk.to

Toàn bộ request khác sẽ được điều hướng sang embed.tawk.to

Đồng thời trong nội dung trả về sẽ thay thế các từ khoá ví dụ như embed.tawk.to thành abc.online – chính là domain trung gian của chúng ta

 

Đến đây chúng ta cần xử lý tiếp forward socket để đảm bảo kết nối

#PROXY-START/
<IfModule mod_proxy.c>
    ProxyRequests Off
    SSLProxyEngine on
   	SetEnvIf Host "^([^.]*).abc.online$" SUBDOMAIN=$1
    ProxyPassInterpolateEnv On
    ProxyPass / wss://${SUBDOMAIN}.tawk.to/ interpolate
    ProxyPassReverse / wss://${SUBDOMAIN}.tawk.to/ interpolate
    </IfModule>
#PROXY-END/

Trong này chúng ta sẽ forward toàn bộ các subdomain của abc.online sang subdomain.tawkto. Điều này làm như vậy bởi vì các socket của tawkto thường bắt đầu bằng vsa{number}.tawk.to. Nên chúng ta sẽ forward tương ứng sang link gốc

Chú ý rằng cấu hình này cần trỏ về cho wildcard của domain

Đến bước này trong đoạn mã script của bạn cài đặt tawkto, thay vì dùng embed.tawk.to hãy thay thế bằng abc.online. Khi này tawkto sẽ hoạt động một cách bình thường.

Tuy nhiên phương án trên đây là phương án tạm thời, không khuyến khích dùng lâu dài.

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Cloud Server

    Xem thêm

      Codetutam

      Bình luận: