В настоящее время я использую nginx как обратный прокси-сервер через https, и все, что проксируется, само находится через https. Завершение SSL происходит в Nginx, и, поскольку трафик проходит через https, он снова шифруется, прежде чем продолжить свой путь.
Моим первым инстинктом было то, что мои общедоступные серверы должны использовать подписанный сертификат и использовать сквозную передачу SSL из nginx. Оказывается, nginx не позволяет вам этого делать. Итак, я начал смотреть на haproxy, поскольку он может выполнять сквозную передачу SSL.
И после долгого чтения я начал задаваться вопросом, действительно ли это имеет значение. Я могу использовать самоподписанный сертификат один раз в моей собственной сети.
Есть ли причина использовать тот же сертификат на nginx / haproxy, что и на моих серверах? Есть ли причина не использовать самоподписанные сертификаты для внутреннего трафика?
Нет никаких технических причин, по которым вам нужно было бы использовать внешний сертификат на внутренних серверах, если только у вас нет конфигурации, в которой внутренние серверы также доступны напрямую извне, что кажется маловероятным в большинстве сред.
Самоподписанный - это нормально в среде, где вы контролируете оба конца SSL-соединения, что имеет место на задней стороне HAProxy и на передней стороне внутренних серверов приложений.
Я думаю, что лучшим решением будет использовать внутренний сертификат. По соображениям безопасности вы не добавите дополнительную возможность для компрометации вашего публичного сертификата.