How to Navigate Chinese ICP Filing: From Initial Review to Authority Approval
This guide thoroughly explains China's ICP domain filing process—from initial provider review to the communications authority's final approval—detailing each procedural step, DNS resolution impacts, cloud provider policies, technical workarounds, best practices, and scripts to help developers ensure compliance and smooth deployment.
Domain ICP Filing and Resolution: From Initial Review to Authority Approval
Introduction: Key Stages of the Filing Process
Operating a website in mainland China requires a mandatory ICP filing. The process typically includes three critical stages: provider initial review, communications authority review, and final approval. Many site owners wonder whether the period between provider approval and authority review affects domain resolution and access.
This article provides a comprehensive analysis of each stage’s impact on domain resolution, offers technical solutions, and shares best‑practice recommendations for developers and site owners.
Filing Process Details
1. Complete ICP Filing Process
The typical ICP filing workflow consists of the following steps:
Domain registration: obtain a registered domain name.
Server purchase: choose a domestic server and obtain a filing service number.
Document preparation: gather enterprise or personal certificates, contact information, etc.
Provider initial review: submit materials to the cloud provider for preliminary verification.
Authority review: after provider approval, the filing is submitted to the communications authority.
Filing success: once the authority approves, a filing number is issued.
2. Difference Between Initial Review and Authority Review
Provider initial review is a formal check of material completeness and authenticity, usually taking 1‑3 business days.
Authority review is a substantive examination by provincial communications bureaus, covering content compliance and entity authenticity, typically requiring 10‑20 business days.
Domain Resolution Status During Filing
1. Domain Status After Initial Review
When a domain passes the provider’s initial review but is still under authority review:
Technically, DNS resolution is not blocked.
In practice, many providers enforce a “whitelist” policy, allowing only fully filed domains to be accessed.
Regional differences exist; some areas may permit resolution, but most block ports 80/443 for unfiled domains.
2. Comparison of Cloud Provider Policies
Alibaba Cloud – Not allowed to resolve before authority approval (must complete authority review).
Tencent Cloud – Not allowed, but test domains can be used temporarily.
Volcano Cloud – May allow resolution depending on the case, with possible restrictions.
Huawei Cloud – Not allowed; full process must be completed.
3. Technical Restriction Mechanisms
# Pseudocode: Provider intercepts unfiled domain requests
def handle_request(request):
domain = request.host
if not check_icp_record(domain): # check filing status
if is_under_review(domain): # still under authority review
return HttpResponse("Website is under filing, please try later", status=503)
else:
return HttpResponse("Unfiled website access denied", status=403)
else:
return process_normal_request(request)Solutions and Temporary Alternatives
1. Development‑Testing Phase Solutions
Solution 1: Use the hosts file for temporary resolution
# Windows hosts file path: C:\Windows\System32\drivers\etc\hosts
# Linux/Mac hosts file path: /etc/hosts
# Add temporary mapping
192.168.1.100 yourdomain.comSolution 2: Use a test domain provided by most cloud vendors
server {
listen 80;
server_name your-test-domain.provider.com;
location / {
proxy_pass http://your-internal-ip:port;
}
}2. Full‑Feature Temporary Solution (Overseas Nodes)
If full functionality is required, consider deploying overseas temporarily:
Deploy the site on an overseas server.
Configure a CDN with overseas edge nodes.
After filing is complete, migrate back to a domestic server.
# Use Cloudflare or other overseas DNS
dig yourdomain.com @1.1.1.1
# Result should show overseas IP address3. Post‑Filing Switching Strategy
After filing succeeds, perform a smooth switch:
// Front‑end checks filing status and redirects
fetch('/check_icp_status')
.then(response => response.json())
.then(data => {
if (data.icpApproved) {
window.location.href = 'https://yourdomain.com';
}
});Technical Depth: DNS Resolution and Filing Relationship
1. DNS Resolution Principle Review
DNS resolution is independent of the filing process:
2. Actual Point of Filing Interception
Interception occurs after the TCP connection is established:
Client obtains IP via DNS.
TCP connection is made to the server.
Server checks the Host header or SNI.
Based on filing status, the server decides whether to serve content.
// Go middleware example: check filing status
func ICPCheckMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
host := r.Host
if !icpVerified(host) {
http.Error(w, "Website filing in progress", http.StatusServiceUnavailable)
return
}
next.ServeHTTP(w, r)
})
}Best Practices and Recommendations
1. Preparations Before Filing
Material checklist:
Enterprise: business license, legal person ID, contact info.
Individual: ID card, contact info.
Site manager verification photo.
Domain certificate.
Server selection advice:
Choose a server within the jurisdiction of the target communications bureau.
Prefer providers with strong filing support.
2. Development Strategy During Filing
Frontend development:
# Manage domain via environment variables
VUE_APP_API_BASE=/api # relative path
REACT_APP_DOMAIN=localhost:3000Backend development (Spring Boot example):
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Value("${icp.in-review:true}")
private boolean inReview;
@Override
public void addInterceptors(InterceptorRegistry registry) {
if (inReview) {
registry.addInterceptor(new UnderReviewInterceptor());
}
}
}3. Post‑Filing Considerations
Filing information maintenance:
Update changes promptly.
Keep contact information valid.
Compliance operation:
Ensure website content matches filing information.
Follow Chinese internet regulations.
Common Q&A
Q: Can the site go live after the initial review?
A: Technically possible, but it does not meet regulations. It is recommended to wait for authority approval.
Q: What happens if DNS is changed during authority review?
A: Modifying DNS is not advised; it may cause the review to fail. Pause the review before making changes.
Q: Can overseas users access a site under review?
A: If the site is hosted overseas and bypasses the Chinese network, access is theoretically possible, but local regulations must be observed.
Q: Is CDN usable during filing?
A: Domestic CDN requires a filing number; overseas CDN can be used but may introduce latency.
Conclusion and Outlook
ICP filing is a crucial regulation for Chinese internet services. Although the transition period between provider approval and authority review imposes certain restrictions, appropriate temporary solutions and technical measures can minimize impact on development progress.
Future improvements in filing automation and cloud/edge technologies may introduce new transitional access methods, such as limited‑access modes during the "filing in progress" state.
Understanding the technical implications of each filing stage and planning deployment strategies early are essential for a smooth launch.
Appendix: Useful Resources
Contact numbers for various communications bureaus.
Links to major cloud providers' filing help centers.
Example API for filing status query:
import requests
def check_icp_status(domain):
url = f"https://api.beian.gov.cn/check?domain={domain}"
response = requests.get(url)
return response.json()
status = check_icp_status("example.com")
print(status)Filing progress monitoring script:
#!/bin/bash
DOMAIN="yourdomain.com"
while true; do
STATUS=$(curl -s "https://api.beian.gov.cn/check?domain=$DOMAIN" | jq -r '.status')
if [ "$STATUS" == "approved" ]; then
echo "Filing approved!"
break
else
echo "$(date): Filing under review..."
sleep 86400 # check daily
fi
doneBy fully understanding the filing workflow and its technical impact, developers can confidently handle the period from initial review to authority approval and ensure stable operation of their services.
Open Source Linux
Focused on sharing Linux/Unix content, covering fundamentals, system development, network programming, automation/operations, cloud computing, and related professional knowledge.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
