У меня есть веб-служба 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}";
}
}
certbot renew
, извините. - person chrispytoes   schedule 05.06.2018/public
. Я не могу поместить его в корневой путь, потому что запросы к корневому пути перехватываются и обрабатываются приложением nodejs и отображаются из шаблонов ручек. Я использую только маршрут/public
для обслуживания статических файлов js и css. Он помещает задачу в нужное место, а просто не ищет ее в нужном месте, когда выполняет проверку. - person chrispytoes   schedule 05.06.2018