Кто должен обрабатывать SSL-сертификаты для HTTPS-соединений на обратном прокси-сервере + Python HTTPS-сервере?

Предположим, я хочу использовать комбинацию NGinX (возможно, другую, поскольку он не проксирует запросы HTTP/2) и Hypercorn. Поскольку оба могут обрабатывать файлы сертификатов SSL, мне интересно, кто лучше всего подходит для этого для запроса HTTPS. Для меня важно, чтобы Hypercorn мог прослушивать порт 443, и я не уверен, что он сможет это сделать без указания параметров certfile и keyfile.

1 ответ

Решение

Ну, это зависит от того, что вы хотите делать.

Самое простое решение - настроить оба на использование SSL.

Nginx получит запрос, расшифрует его, обработает, отправит в Hypercom на порт 443 в качестве клиента HTTPS. Hypercom получит запрос как любой обычный клиент HTTPS.

  • Если ваша цель - безопасность: используйте оба
  • Если ваша цель - просто не использовать гиперкомпонент напрямую, вы можете настроить его так, чтобы он не использовал SSL.

Nginx по умолчанию поддерживает проксирование запросов в восходящий поток HTTPS, так что я считаю это лучшим решением. Однако вам может потребоваться поиграть с настройкой http-заголовка для гиперкома, чтобы правильно понять, кто является клиентом, играя сX-Forwarded-For, X-Forwarded-Host и любые заголовки, которые могут понадобиться Hypercom.

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