Skip to content

IDN / Punycode domains are rejected with "Invalid domain format" #3427

Description

@alexeyhome21

Describe the Bug

Description

Pangolin detects internationalized domain names correctly and converts them to Punycode in the UI, but the backend rejects them with:

Invalid domain format

This happens with both Cyrillic domains and their direct Punycode representation.

Example 1

Input:

пример.рф

### Environment

- OS Type & Version: Debian GNU/Linux 12 (Bookworm)   <-- (или то, что покажет /etc/os-release)
- Pangolin Version: ee-latest
- Edition (Community or Enterprise): Enterprise
- Gerbil Version: 1.4.2
- Traefik Version: 3.6
- Newt Version: N/A (not installed)
- Client Version: Web UI

<img width="644" height="556" alt="Image" src="https://github.com/user-attachments/assets/c9d27646-bf65-4326-bc99-bfdd8cf52d68" />

<img width="644" height="556" alt="Image" src="https://github.com/user-attachments/assets/0dfd052a-9961-43eb-b74c-67d863491eca" />


### To Reproduce

<img width="644" height="556" alt="Image" src="https://github.com/user-attachments/assets/971bdce4-1902-475d-95b2-ecc276019883" />

<img width="570" height="469" alt="Image" src="https://github.com/user-attachments/assets/ea78db99-843e-4e66-a762-6d461ebd75ff" />

### Expected Behavior

1. Open the Pangolin web interface.
2. Go to Domains.
3. Click Add Domain.
4. Enter a valid IDN domain, for example:

   `пример.рф`

5. Pangolin correctly detects it as an international domain and converts it to:

   `xn--e1afmkfd.xn--p1ai`

6. Click Create Domain.
7. The error appears:

   `Invalid domain format`

The same error occurs when entering the Punycode value directly:

`xn--e1afmkfd.xn--p1ai`

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions