Назад | Перейти на главную страницу

Nginx переписывает с Server_name в качестве подчеркивания

У нас есть конфигурация nginx с server_name в качестве подчеркивания. Как переписать с http на https.

server {
server_name _;
rewrite ^/(.*) https://$server_name/$1 permanent;
}

Это возвращает ошибку как http: // _ / не нашел. Ни в коем случае не указывать доменное имя в правиле перезаписи.

Установите блок nginx для прослушивания порта 80, чтобы перенаправить все на https. Поместите обычную конфигурацию в блок 443.

server {
   listen         80;
   server_name    _;
   return         301 https://$server_name$request_uri;
}
server {
   listen         443 ssl;
   server_name    _;

   [....]
}

Похоже, ваша проблема заключается в неспособности решить _ (это основная причина, по которой вы получаете ошибку «не найден» после подозрительного перенаправления), а не в файле конфигурации nginx. Создайте свою собственную зону TLD для _, или хотя бы добавить запись в /etc/hosts.