Обратный прокси Nginx + Let's Encrypt

У меня есть две виртуальные машины. Один бегущий LEMP и один бегущий графана.

Я настроил nginx на LEMP для использования в качестве обратного прокси-сервера для различных виртуальных машин в моей лаборатории, включая виртуальную машину с графаном.

Это прекрасно работает, но я хотел бы добавить Let's Encrypt SSL на хосте grafana извне, поэтому grafana.mydomain.com обслуживается по SSL.

Я хочу установить подстановочный знак для *.mydomain.com, чтобы в будущем я мог развертывать новые службы и виртуальные машины, к которым можно получить доступ через HTTPS извне. Есть ли обычная практика для этого? Я не уверен, должен ли я установить certbot и развернуть сертификат на хосте nginx или на виртуальной машине, на которой запущен grafana. Я попробовал оба, и оба потерпели неудачу. Хотя я не уверен, что пропустил несколько настроек в конфигурации grafana f.ex. Я не могу найти никаких руководств, которые, кажется, обеспечивают правильную настройку конфигурации afaik.

В настоящее время я пытался установить SSL как на хосте обратного прокси-сервера nginx, так и на хосте grafana для подстановочного знака *.mydomain.com, что также добавляет путаницы, поскольку теперь он "дублируется" с сертификатами.

сертификаты хранятся в /etc/letsencrypt/live/mydomain.com

Не уверен, что еще имеет отношение к информации. Но вот конфиг nginx, хранящийся в /etc/nginx/sites-enabled/grafana.mydomain.com:

server {
    server_name grafana.mydomain.com;

    # ssl on;
    # ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://10.0.0.113:3000;
    }
}

Заметка. Я закомментировал настройки SSL, так как я не могу подключиться к графане с включенным доступом при доступе извне.

SSL был развернут на хосте nginx с помощью этой команды:

$ sudo certbot certonly --manual -d *.mydomain.com --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

Короче говоря - я прав, что certbot и LE должны быть развернуты на хосте nginx. И не нужно ли это на бэкэнд-хосте (графане)? Я предполагаю, что некомментированная версия конфигурации nginx, опубликованная выше, должна работать, но я пропускаю некоторые настройки в другом месте.

0 ответов

Другие вопросы по тегам