Кто должен обрабатывать 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.