У Certbot возникли проблемы с поиском моей проблемы ACME в веб-приложении nodejs - PullRequest
0 голосов
/ 05 июня 2018

У меня есть веб-сервис NodeJS, который использует обратный прокси-сервер с помощью Nginx.Я пытаюсь обновить сертификат SSL от certbot, и для обновления он ищет domain.com/.well-known для вызова ACME.Однако способ, которым я настроил службу узлов, состоит в том, что корневой путь не обслуживает файлы, а корень домена перехватывается и обрабатывается моей веб-службой.Мой реальный общедоступный рут находится на domain.com/public, поэтому задача ACME на самом деле на domain.com/public/.well-known

Так что есть два способа исправить это, я мог бы выяснить, как сказать certbot вместо domain.com/public/.well-knownиз domain.com/.well-known, или выясните, как «прокси» domain.com/public/.well-known до domain.com/.well-known.

Вот мой конфиг и неудачная попытка перенаправить его:

server {
    listen 80;
    listen 443 ssl;
    client_max_body_size 50M;
    ssl_certificate <path to cert>;
    ssl_certificate_key <path to key>;
    server_name domain.com;
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    location /.well-known {
        return 302 "http://{$host}/public{$request_uri}";
    }
}

1 Ответ

0 голосов
/ 10 июня 2018

Если вы не можете использовать проверку домена на основе пути (HTTP), вы можете использовать проверку домена на основе DNS.

certbot certonly --manual --preferred-challenges dns -d mydomain.com

Это предложит вам добавить запись TXT на DNS-сервер вашего домена.Добавьте запись, а затем подождите несколько минут, прежде чем нажать ENTER, чтобы продолжить.

Скопируйте новые сертификаты в нужное место.

Руководство пользователя Certbot

...