Hi Vercel team,
I'm experiencing a persistent connectivity issue with a custom .рф (IDN) domain on mobile devices in Russia.
Project: shark-logistik
Custom domain: https://xn----8sbekbaemjtp3ajpl.xn--p1ai/ (перевозки-адлер.рф)
Vercel domain: https://shark-logistik.vercel.app/
Problem
The custom domain works normally on desktop computers in Russia and on devices in Kazakhstan. However, on affected iPhones and Android phones in Russia, the browser displays a blank white page and keeps loading indefinitely.
The issue has been reported on mobile data, home Wi-Fi, with and without VPN. The Punycode and Cyrillic spellings behave identically.
The .vercel.app hostname works on the affected Android device.
Interestingly, a similar problem existed before we migrated the frontend from Cloudflare to Vercel.
Confirmed Chrome NetLog findings
We captured a real Chrome NetLog from an affected Android device.
For the custom domain:
- DNS lookup completed.
- TCP connection established successfully.
- TLS 1.3 handshake and certificate verification succeeded.
- HTTP/2 was negotiated.
- Received HTTP 103 Early Hints followed by HTTP 200 OK.
- No HTTP/2 DATA frames containing the HTML response body were observed.
- The request remained pending for more than 107 seconds.
- No explicit timeout, TCP reset, or HTTP/2 GOAWAY was recorded.
Vercel request ID: arn1::wszzp-1793959157008-7f85742b3bb9
The NetLog also shows a virtual DNS resolver (198.18.0.2) and synthetic IP addresses (240.0.0.185, 240.0.0.186). An INSY VPN application is installed on the device. We cannot determine the actual upstream IP or attribute the failure to the VPN based on this log.
The .vercel.app control request returned 304 Not Modified and served HTML from browser cache, so it was not a fully equivalent uncached test. However, several images were successfully transferred over the network.
Other checks
- DNS records and authoritative nameservers were checked.
- TLS/SNI and certificate chains passed external checks.
- No redirect loops were detected.
- HTML and static assets worked in other tested networks.
- No mobile-specific frontend behavior was identified.
- The domain is configured on Vercel with Valid Configuration.
- Cloudflare is used for DNS only, without proxying the web traffic.
Questions
- Can the Vercel team investigate whether the full HTML response body was transmitted for the request ID above?
- Are there known issues with HTTP/2 body delivery,
.рфdomains, or custom-domain routing in Russian networks? - Is there a supported alternative Vercel ingress or project-specific DNS target we could test while keeping the existing hostname?
- Could specific edge response behavior, such as 103 Early Hints, contribute to the stall?
- What further evidence would help distinguish regional network filtering from a Vercel edge delivery issue?
We understand that DPI or intermediate network filtering is a possibility, but we have not established the root cause conclusively.
We would appreciate technical guidance from Vercel engineers or anyone who has encountered and resolved a similar issue.
I would prefer not to make speculative production DNS changes.
Thank you!