@bozuriciyu

Сертбот LetsEncrypt ломает конфиг?

Был простой конфиг

upstream public-content-api {
  server 127.0.0.1:9999;
}

server {
  listen 80;
  server_name api.example.com;

  location / {
    proxy_pass http://public-content-api;
    include proxy_params;
  }
}


После установки сертбота поопробовал как он сгенерит конфиг для ссл, выбрал редирект с https на http. В итоге он мне поломал все, и теперь бесконечный редирект

upstream public-content-api {
  server 127.0.0.1:9999;
}

server {
  server_name api.example.com;

  location / {
    proxy_pass http://public-content-api;
    include proxy_params;
  }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = api.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

  listen 80;
  server_name api.example.com;
    return 404; # managed by Certbot
}


1. Почему редирект - это мой конфиг кривой первый или это сертбот гавно генерирует?
2. Как его исправить в данном примере?
3. Стоит ли вообще юзать этот генератор или по другому как-то верифицировать сертификаты? Хотелось бы автоматически это все...
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 2
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
1,3. Генератор не стоит использовать от слова совсем.
2. Выкинуть if, вместо return 404 воткнуть return 301 https://$server_name$request_uri
Для красоты HTTP и HTTPS можно объединить в один location и обернуть редирект в if ($scheme = http).
3. Для прохождения проверки достаточно пробрасывать директорию с челленджами. https://toster.ru/answer?answer_id=1326513
Ответ написан
Комментировать
@ar2rsoft
PHP-developer
Сертбот же в конце спрашивает, добавить ли редирект, откажитесь просто, и второй блок с редиректом не будет добавлен
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы