Sys-Admin Forum

Проксирование HTTPS через Nginx на другую [VM с настроенным SSL LetsEncrypt].

Внимание! :azn:
Искрамётная тема :killall2:


Проксирование HTTPS через Nginx на другую [VM с настроенным там SSL LetsEncrypt].

Cхема:

Имею сервер с ОС Linux
Поднят Nginx, нужно с него проксить трафик к другим сервисам.
У меня сложность с проксированием 443 порта.
Ребят, есть идеи как настроить проксирование?
upstream, stream, proxy_pass, rewrite?


Спросите меня, а как же я получил SSL Let’s Encrypt на 10.1.1.3?

Всё просто…
На прокси сервере 10.1.1.1, в конфиге виртуального хоста jira.домен.com, для проверки владения доменом letsencrypt, я просто пробросил трафик до 10.1.1.3 таким образом:


           location /.well-known/acme-challenge {
                proxy_pass http://10.1.1.3;
           }

Запустил certbot и всё прошло в штатном порядке без доп.вопросов и заурядных ситуаций.

В целом идея конфиг файла для виртуального хоста jira.домен.com такая:


server {
         listen 443 ssl http2;
         server_name jira.домен.com;

         location / {
                proxy_pass https:/10.1.1.3;
          }

           location /.well-known/acme-challenge {
                proxy_pass http://10.1.1.3;
           }
}

В общем вопрос в том, как перенаправить SSL трафик на прокси сервере nginx?

У меня есть идея пошаманить с BIND, а в виртуальных хостах nginx, удалить домен третьего уровня jira.домен.com.
Тоесть отправлять трафик на 10.1.1.3 путем перенаправления Bind. Но я пока сомневаюсь будет ли работать BIND в одиночку без второго сервера, да и настройка муторная получается, есть идеи как сделать на NGINX?
Если есть комментарии и соображения по BIND, также пишите о них )


Не пробовал? Давно уже не игрался, но на вскидку:

server {
    listen 443 ssl http2;
    server_name  jira.domain.com;

    location / {
        return 301 $scheme://10.1.1.3$request_uri;
    }
...

Для well-known оставь исключение и старое правило…

В общем так сделать не получится, из-за технологической особенности работы SSL сертификата.
Топик в топку! ))

Что сделал, пустил в бэкенд на 80?

Не, на практике пока не сделал, был в отпуске, но теоретически исключил Nginx и в качестве прокси решил делать Hadoop server вместо Nginx, например сам сертификат LetsEncrypt живет на Jira, чтобы корректно происходило обновление сертификата, думаю нужно делать mount на прокси сервере каталога с сертификатом LetsEncrypt и в конфиге hadoop’a описывающий настройку SSL указать этот новый сетевой раздел (тот что живет на JIRA серваке), в котором он всегда будет видеть валидный сертификат. Крон джоб (для обновления SSL каждые три месяца) будет происходить на JIRA server. В целом Hadoop это моя прихоть, в этой схеме также будет и Nginx работать.
:smile3: