LINUX.ORG.RU
ФорумAdmin

Где должен быть сертификат для фронта и бекенда для работы https - https

 , , ,


0

1

Коллеги, добрый день!

Изучаю варианты работы фронта nginx для ssl.

Есть желание добиться работы https фронта с https бекендом (например, apache).

Непонятно следующее:

  1. можно ли разместить сертификат только на бекенде, а на фронте не размещать?
  2. если размещать сертификат на фронте и на бекенде то как запрашивать его через certbot? Ведь он выдаст ошибку во второй раз на тот же домен.
  3. если включить SSL на фронте, но не указать сертификат то получим ошибку «укажите сертификат». То есть получение сертификата с бекенда невозможно?

Пример конфигурации nginx:

server {
   listen 443 ssl;
   server_name example.yourdomain.com;
   ssl_certificate  /path/to/your/certificate; 
   ssl_certificate_key  /path/to/your/certificate/key; 
   ssl_prefer_server_ciphers on;

   location / {
        proxy_pass https://localhost:4430;

        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For 
   $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
    }
}

Кто как вообще организует распределенные веб приложения для работы с https?

UPDATE1 Чтобы снять вопросы, распишу конкретную ситуацию:

  1. Есть VPS с публичным IPv4, она выполняет роль публичного веб-сервера на nginx
  2. Есть сервера за NAT, например, на апач (чтобы проще было, бывали и на nodejs, но тут не важно)
  3. Запросы http на публичный и проксирование на http закрытый сервер идут отлично. Реверс-прокси типа http-http работает
  4. Запросы https - http тоже отлично работают. Это когда мы сертификат выкатываем на фронт, а в proxy_pass шлем на http порт сервера за NAT.

Исследование https - https начал после развертывания простейшего сайта на вордпресс, который ранее работал на https сервере напрямую (без проксирования и прочего). Просто так он не встает, требуются манипуляции с базой данных и правки wp_config. Обнаружил множество похожих ситуаций и вопросы без ответа, веб-приложения разные при этом. Основной вопрос - как правильно? https - https правильно или не нужно? Если правильно, то как выкатывать сертификат, руками оба раза на сервер фронта и сервер бека? Руками же не очень профессионально кажется)



Последнее исправление: job_maker (всего исправлений: 5)
Ответ на: комментарий от Shushundr

1) повторю, проксировать на http2 бек - фича не нужная, поэтому скорее всего её никто не умеет (про nginx я писал из тех же соображений); сейчас обычно даже на http1 не проксируют а используют ещё более простые протоколы типа fastcgi

2) чего умеет проксировать апач - мне вдвойне безразлично, потому что апач не нужен

firkax ★★★★★
()
Ответ на: комментарий от einhander

Если тот софт реализован в виде прибитых гвоздями апач-модулей то придётся использовать апач, да. И, возможно, даже апач 1.3, если прибито к нему. Ну, бывает легаси. Но зачем из этого апача при этом что-то куда-то проксировать, да ещё и по http2-протоколу - непонятно.

firkax ★★★★★
()