@Drottarutarnum
Любопытный любитель

Почему не работает certbot?

У меня долгое время был на сервере докер с owncloud, я давно поднимал на нем сертификат и, если честно, не помню как это вообще сделал, но сейчас его конфиг выглядит так:

server {
    server_name disk.mydomain.com;
    location / {
        proxy_pass http://localhost:8089;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/disk.mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/disk.mydomain.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 = disk.mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    listen [::]:80;
    server_name disk.mydomain.com;
    return 404; # managed by Certbot
}


Это отлично работает в данный момент, но я решил поднять докер с gitea, конфиг для nginx выглядит сейчас так

server {
    listen 80;
    listen [::]:80;
    server_name git.mydomain.com;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://localhost:8091;
    }
}


Во первых, почему-то по адресу git.mydomain.com сразу пытается открыться https, и браузер выдает странную ошибку, ссылаясь на домен облака

недействительный для git.mydomain.com. Сертификат действителен только для disk.mydomain.com.


При этом по mydomain.com:8091 успешно открывается сайт с gitea

Во вторых, при попытке использовать certbot я получал ошибку подтверждения сертификата, вот моя команда certbot:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email user@gmail.com -d git.mydomain.com


Все мои конфиги лежат в /etc/nginx/sites-enabled
nginx работает на сервере, а не в докере
Кроме облака и нового образа гита больше ничего не запущено

В чем дело?
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 2
Alex_Geer
@Alex_Geer
System Engineer
Эти параметры указаны для всех виртуальных серверов NGINX, нужно загнать их под конкретный server или использовать *.domain.com
listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/disk.mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/disk.mydomain.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
Ответ написан
@dronmaxman
VoIP Administrator
sudo mkdir -p /var/www/cert_bot/.well-known/acme-challenge
sudo chown -R www-data:www-data /var/www/cert_bot

server {
    listen 80;
    listen [::]:80;
    server_name git.mydomain.com;
root /var/www/cert_bot;

        location /.well-known/acme-challenge/ {
                access_log off;
                default_type "text/plain";
        }  
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://localhost:8091;
    }
}

sudo certbot certonly --webroot --agree-tos --email user@gmail.com  -w /var/www/cert_bot/  -d git.mydomain.com


После получение сертификата - добавь секцию с https
server {
    listen [::]:443 ssl ipv6only=on; 
    server_name git.mydomain.com;
 
    ssl_certificate /etc/letsencrypt/live/git.mydomain.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/git.mydomain.com/privkey.pem; 
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; 

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://localhost:8091;
    }

   
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы