nginx соответствует неправильному блоку сервера

#nginx #https

#nginx #https

Вопрос:

Я настраиваю конфигурацию nginx.

  • Включен HTTPS / HTTP2.
  • Весь трафик должен быть перенаправлен на HTTPS.
  • Все www-запросы должны перенаправляться на не-www (голый домен).

Моя текущая настройка выглядит более или менее так:

 server {
    listen 80 default_server;
    listen 443 http2 ssl;
    server_name www.domain.com;
    return 301 https://$host$request_uri;
}


server {
    listen       443 http2 ssl;
    server_name  localhost  domain.com;
    (...)
}
  

Я протестировал следующий сценарий:

Последнее неверно. Кто-нибудь может объяснить, почему и как это можно исправить?

Комментарии:

1. У вас есть настройки, связанные с ssl, в блоке www.domain.com сервера?

2. Вот и все, я забыл добавить другую конфигурацию ssl (например, фактический сертификат) в блок. Вздох, поздняя ночь кодирования…