1

I have a nginx 1.14.0 on Ubuntu 18.04.3. I have some trouble with a punycode domain, it works only with subdomains, e.g. www.xn--bratwrste-u9a.de but not with the domain only e.g xn--bratwrste-u9a.de Other domains e.g. example.com are working as expected.

My default server config:

server {
    listen 1.2.3.4:443 ssl http2 default_server;
    listen 5.6.7.8:443 ssl http2 default_server;
    ssl_certificate /ssl/sslcert.pem;
    ssl_certificate_key /ssl/privkey.pem;

    server_name _;

    root /var/www/foo;
    index index.html index.php;
  }

And here the virtual server config:

server {
    listen 5.6.7.8:443 ssl http2;
    server_name .xn--bratwrste-u9a.de;

    ssl_certificate /ssl/sslcert.pem;
    ssl_certificate_key /ssl/privkey.pem;

    root /var/www/bar;
    index index.html index.php;
}

The log looks good:

"GET /foo.bar HTTP/2.0" 200 247 "https://xn--bratwrste-u9a.de/" 

Also there is no error in the error.log

The documentation of nginx gave me no answser to my question and also listing the servername individually makes no different.

Thanks for any suggestion.

EDIT:

A workaround: Add rewrite rule to the default server:

  if ($host = xn--bratwrste-u9a.de) {
  rewrite  (.*)  https://www.xn--bratwrste-u9a.de$1;
  }

Strange that this works, but the server_name not...

Sebastian
  • 21
  • 3
  • Maybe try it like: `server_name xn--bratwrste-u9a.de www.xn--bratwrste-u9a.de *.xn--bratwrste-u9a.de;` and see if it makes any difference. – l'L'l Jan 30 '20 at 21:07
  • Thanks for your answer, but I tried this setting also. This makes no different. – Sebastian Jan 30 '20 at 21:58

0 Answers0