First, What is the PunyCode?
Punycode is a encoding syntax by which a Unicode (UTF-8) string of characters can be translated into the basic ASCII-characters permitted in network host names. Punycode is used for internationalized domain names, in short IDN or IDNA (Internationalizing Domain Names in Applications).
For example, “xn--1rw751f.net” = 金水.net
If you bind the PunyCode to IIS7, the message will prompt out when the IIS is start and cause the IIS entry unable to start.
Why that so? value does not fall within the expected range? It is because IIS7 no longer support PunyCode, so you will receive value does not fall within the expected range when you start the IIS.
If you want to add the xn--1rw751f.net , just add the domain 金水.net. Do not need to us the PunyCode, You can direct use the domain.
of course there is another method where you can edit the IIS file to allow the PunyCode to be bind. But What for? Since you can add the domain directly, why you need to use the PunyCode? So just add the domain will do. 🙂