1 Introduction
This is an article I have wanted to write for a long time, but it involves too many knowledge points. Crucially, many of these points are non-technical, such as the internal operational logic of the MIIT ICP filing system (hereinafter referred to as the filing system), its constituent roles and their relationships, the criteria for being ”walled”, and so on. Although this article is written from a technical perspective, the logical flowchart inevitably includes some of the aforementioned content. Back when I knew nothing (and I'm not much better now), the only thing I knew about building a website was: ”You need an ”index.html”, which can be obtained by downloading a free template.” Therefore, website filing was a concept with no real sense of reality to me; I knew its macro purpose, but when it came to micro implementation, I was completely in the dark.
As for why I have always wanted to write this article, the most direct reason is probably a professional habit as a technical professional. It's similar to the reaction when you can't watch online videos at work due to internet behavior management: ”Why can't I watch it? How is this implemented? Xxxxx?” Except now, it has become the issue of ”you can't build a website without ICP filing.” Usually, when encountering such situations, I am used to writing a proposal to clarify my thoughts. However, a proposal typically starts with ”Project Introduction” and ”Review of Existing Issues,” but I didn't even have a project, let alone any existing issues. What was I to do?
In the spirit of ”go ahead when there are difficulties, and create difficulties to go ahead when there are none,” it just so happened that I was troubled by ”having to research everything all over again because I didn't record my previous tinkering processes.” Thus, the ”building a personal blog” project was initiated. Once the blog was set up, if it was to be published in China using port 443, it would naturally involve ICP filing, which connected perfectly. In the spirit of ”to take, one must first give,” ”nothing ventured, nothing gained,” and ”the Buddha cutting his own flesh to feed the eagle,” I chose to jump in personally: going through the personal ICP filing process (of course, a small part of the reason was that I didn't know about Cloudflare at the time).
2 The Technical Essence of the “ICP Filing System”
3 How Does the “ICP Filing System” Work?
4 How to Efficiently Complete Personal ICP Filing
What is the essence of ICP filing from a management perspective? To sum it up in one sentence: ”The domain name is tightly bound to the registrant. If the website under this domain name gets into trouble, they will go straight after the registrant.” To put it plainly, it's like being the ”legal representative” of the domain name.
Currently, the ICP filing system implements a three-tier architecture: the MIIT system, the provincial communications administration systems, and the access provider enterprise-side filing systems. According to regulations, when users apply for filing, they must submit filing information through the access provider's enterprise-side system, which then transmits the relevant information to the provincial and ministerial systems (after the filing is approved, based on the same principle, the provincial and ministerial systems feed the data back to the enterprise-side system, which is why filing now takes several business days—because it has to go through this process). The access providers we are most familiar with are Alibaba Cloud and Tencent Cloud.
If you want to apply for an ICP filing as an individual, the most concise and efficient steps are as follows:
Choose an access provider and purchase a cheap cloud server (there are many options for 99 RMB for the first year for newcomers). This is mainly to obtain an ”ICP Filing Authorization Code” (Tencent's term; Alibaba calls it an ”ICP Filing Service Code”):


No matter what the code is called, the original intention of this step is to pinpoint the location of your website. There is a regulation stating that ”the IP address currently resolved by the ICP-filed domain name must be the IP of the mainland China node server of the access service provider,” which facilitates subsequent supervision. However, due to CDN technology, this regulation exists in name only: currently, as long as the domain name is filed, you can freely choose the CDN service provided by any domestic CDN vendor. Therefore, no one has been penalized yet because ”the resolved IP is not the server IP at the time of domain name filing.”
Use the filing system provided by the access provider to apply for ICP filing
To be fair, filing with this method is actually very convenient. Since you have already purchased a server from the access provider and have the filing authorization code (or whatever code it is), there isn't much information to fill in. The most annoying part is actually naming the website. You are not allowed to use words with clear indications, such as blog, clothing, movies, etc. This led me to choose a very bizarre name that makes it completely impossible for anyone to know what the website is about at first glance:

The filing photos must meet the requirements:

If there are already filed domain names under your personal account, when you need to file other domain names, you must ensure that the www websites of all previously filed domain names can be opened and comply with the precautions mentioned in the next section; otherwise:

However, there are also benefits. When you don't understand something, there are dedicated staff to serve you (either by phone or online) and teach you step-by-step. Isn't this much better than spending a fortune to hire someone outside to do the filing for you?
After completing the information submission, someone from the access provider's filing department will call you. Once confirmed, they will submit it to the provincial Communications Administration, and then the process we mentioned earlier will begin.
Note: Under normal circumstances, the filing will definitely be approved. After all, it is called "filing" (record-keeping), which is just to keep a record so that it's easier to catch you if you commit a crime later.
5 Daily Precautions After ICP Filing
As I mentioned earlier, filing is mainly to bind the ”legal representative” corresponding to the domain name, just to keep a record, and there are not too many restrictions. The daily routine checks on these domain names are left to the relevant departments of the access provider, including the following inspection items:
Whether the website corresponding to the www hostname can be opened normally
Taking the domain name ”example.com” as an example, you need to ensure that during routine checks,http(s)://www.example.comcan be opened normally. This is to prevent the bad behavior of ”occupying a toilet stall without having a bowel movement” (wasting resources). After all, filed domain names are on the whitelist that can be accessed normally in mainland China, so we cannot be careless.
Solution: Be transparent and don't make things difficult for the inspectors. Just set up a simple page, point the resolution of www to it, and ensure that this page is always accessible (otherwise, why would I write this article:Home Data Center Series: Using Tencent Cloud COS + CDN to Achieve Cost-Effective Static Page Hosting (Requires Filed Domain Name)?)。
Display specifications of the page corresponding to www
a. Tab display name
Simply put, the display name of the webpage tab must be the same as the website name filled in during filing, as follows:

Because I didn't know anything at the time, the girl who called me said there was a problem with the tab's display name. I had absolutely no idea she was referring to the display here, and even said she was unprofessional, which made her so anxious... Only later did I realize it was my own comprehension that was the problem.
b. Display of the ICP filing number at the bottom

The ICP filing number needs to be displayed centered at the bottom of the page, and it must be a link pointing to
https://beian.miit.gov.cn, and must be clickable to open directly.
The resolved IP of the www page
As we mentioned earlier, although this resolved IP theoretically needs to point to the server IP address associated with the filing authorization code (or whatever code it is), in practice, the IP can be changed by using the services of any domestic CDN provider. Therefore, the requirement is not that strict, but it is limited to the IPs of domestic CDN vendors. For instance, when I initially resolved it directly to Cloudflare, I was given a time-limited rectification notice by the inspecting girl. So, we still need to be transparent—at least use a domestic CDN. As for the origin server pointing, it is not that strict. I used to point it directly to the Nginx in my home data center (I also tried pointing it to Cloudflare, but later felt it wasn't quite appropriate, so I changed it back to my home). It was only a few days ago that I pointed the CDN directly to Tencent Cloud's COS.
Note: The only page that must display the ICP filing number is the page corresponding to www. Normally, no one cares about websites corresponding to other third-level subdomains, at least they are not within the scope of daily inspections by the inspectors. However, you should still try to keep a low profile, like someone who has already completed the filing~.
6 After ICP Filing is Completed, Do I Need to Renew the Cloud Server When It Expires?
Conclusion first: theoretically, it is not required. The essence of purchasing a cloud server is to obtain an ICP filing authorization code (or some other code) to meet the prerequisite for successful filing from the access provider's side. Once the filing is successful, under normal circumstances, it is of no use anymore (mainly because the rule that the resolved IP must be the access provider's server IP cannot take effect), so as long as you ensure that the ICP filing number's www page can pass daily inspections, it is fine (otherwise, why would I writeHome Data Center Series: Using Tencent Cloud COS + CDN to Achieve Cost-Effective Static Page Hosting (Requires Filed Domain Name)This article? It is to prepare for not renewing the Tencent Cloud Lighthouse server in the future. After all, 29.77 a year is much cheaper than renewing the cheapest Tencent Cloud Lighthouse server. This way, even if they want to check the expiration of the server associated with the filing authorization code at that time, once they see my origin server points to my own COS, maybe they will let me off the hook).
However, I don't know if there will be stricter or more abnormal regulations in the future, such as requiring that when a filed domain name uses a CDN, the origin server must point to the server IP at the time of filing. If there is such a regulation, then the cloud server really needs to be renewed.
7 How to Handle Issues with a Website Under a Certain Domain Name? (Major Issues)
The general process is as follows:
First check if the domain name has been filed. If not, skip directly to step 4; if it is filed, the access provider where the filing is located will have someone contact you by phone for rectification. If the phone number provided during filing cannot be reached, then proceed to step 2.
Have the access provider directly suspend your access service within its capability. For example, if you used Alibaba Cloud's DNS resolution service, CDN service, and also bought an Alibaba Cloud server, they will suspend all of them for you. If it is found that your website is still accessible, then proceed to step 3.
Reaching this step means your resolution and CDN are not with your access provider (double-dealing?). For example, although you filed with Alibaba Cloud, you are using DNS resolution and CDN from some other unknown provider. At this time, it depends on whether the institution providing DNS resolution is controllable. For example, if it is in China, it's easy to handle; if it is not in China and is disobedient, it will be troublesome, and you can only proceed to step 4.
Reaching this step means at least the DNS resolution institution is uncontrollable (usually foreign). Then it depends on the domain name registrar (though many foreign ones are the same for both). If that is also hard to deal with, contact the domain name registry. If that is also hard to deal with (such as .io domains, which cannot even be bought on domestic domain name servers), then you can only proceed to step 5.
Gloriously enter the ”wall” blacklist.
8 Afterword
I've finally finished writing it. This article made me so tired. From conception, getting into it, trying, various learning, to finally finishing it, it took me at least 8 months back and forth. However, I have finally cleared up the whole process, and my OCD can finally let go of a huge stone in my heart.
Now, my .com domain has been hosted on Cloudflare, and the websites are all built based on Cloudflare. The previously filed domain has completed its historical mission and is currently idle to keep the registration active. However, using it to let others access Emby at home is still very good. After all, it is a domain in the whitelist and has an official status. It just so happens that Telecom is now starting to clean up inbound HTTP(S) access for unfiled domains in home broadband, so my filed domain can still come in handy.
Note: Due to my limited scope of knowledge and lack of understanding of the implementation details in many fields, many conclusions in the article are some speculations based on the situations I encountered during use and the knowledge I know, so they are likely to be inaccurate. If there are any errors, please feel free to leave a comment to correct them.