Укажите PID nginx для certbot (для nginx в комплекте с gitlab)

У меня есть сервер с GitLab, и я хочу иметь возможность использовать nginx и для других сервисов (в моем случае, Jenkins). Я изменил конфигурацию GL, чтобы добавить дополнительные виртуальные хосты согласно этому ответу, и все работает нормально.

Однако я также хочу установить SSL-сертификат с помощью certbot, однако, когда я запускаю sudo certbot --nginx, я получаю следующее:

nginx: [error] invalid PID number "" in "/run/nginx.pid"

Я предполагаю, что это связано с тем, что экземпляр GitLab nginx не помещает pid в каталог запуска, как это сделал бы обычный экземпляр nginx. Итак, мой вопрос:

Можно ли настроить GitLab для создания PID здесь?

... or

Можно ли настроить certbot для поиска PID в другом месте?


person Matt Fletcher    schedule 20.02.2019    source источник
comment
(Ps, я знаю, что могу просто сделать это вручную, а затем сам отредактировать nginx, но я хотел бы знать, возможно ли это сделать автоматически, так как это немного PITA)   -  person Matt Fletcher    schedule 20.02.2019


Ответы (1)


Мне удалось найти довольно простой обходной путь для этого...

cat /var/opt/gitlab/nginx/nginx.pid > /run/nginx.pid

Вы помещаете это в скрипт или выполняете перед выполнением команды certbot --nginx

Это не лучшее решение, но кажется, что у certbot нет возможности указать путь pid.

РЕДАКТИРОВАТЬ: Объяснение

Файл Gitlab omnibus nginx pid находится в /var/opt/gitlab/nginx/nginx.pid, таким образом, мы просто записываем тот же PID в место, которое certbot ищет по умолчанию (или, возможно, неправильно истолковал конфигурацию)

person Milan Markovic    schedule 04.09.2019