У меня есть некоторые приложения django и ruby, и у меня есть главная машина, которая действует как обратный прокси-сервер, перенаправляет на подчиненные машины, на которых хранятся эти приложения. Настройте промежуточное ПО для этих приложений, чтобы они могли обслуживать https. На каждой машине работает собственный ngnix.
Могу ли я также настроить https для этих отдельных ngnix или просто внести изменения на главной прокси-машине? Спасибо.
Да, вы можете использовать nginx для обратного прокси-сервера на серверы приложений на бэкенде (или как бы мидлэнде).
У вас может быть шлюз или обратные прокси-серверы nginx для обработки ssl. Лично я бы обслуживал ssl на уровне nginx, если бы все не работало под ssl.
Это не означает, что вам не следует выполнять нагрузочное тестирование и тестирование производительности, чтобы увидеть, что лучше всего работает в вашей конкретной среде; Вы обязательно должны попробовать разные конфигурации, чтобы увидеть, что лучше всего подходит для вас!
Если вы доверяете сети между вашим прокси-сервером nginx и вашими внутренними машинами, вы можете просто сделать client-> https-> nginx-> http-> backend.
Но если вы вообще не доверяете этой сети по какой-либо причине (скажем, она находится в публичном облаке, например), вы можете настроить nginx на использование https и при разговоре с внутренними серверами.
Это, очевидно, влияет на производительность, поэтому я обязательно буду использовать как клиент, так и пакеты поддержки активности в восходящем направлении так же как Кэширование сеанса SSL на nginx, чтобы свести к минимуму количество задействованных подтверждений SSL. Симметричная криптографическая часть SSL (RC4 или AES), скорее всего, не будет узким местом; это рукопожатия SSL, которые включают шифрование с открытым ключом, что может стать проблемой для производительности на сайтах с высокой посещаемостью.