Назад | Перейти на главную страницу

Использование GlassFish за Nginx с SSL

У нас есть прототип, в котором Nginx действует как терминатор SSL балансировщика нагрузки. За Nginx стоит GlassFish 3, на которой наши веб-службы REST работают через HTTP (без SSL) вместе с другими серверами приложений.

Все запросы на https://api.example.com перенаправляются на GlassFish.

Прямо сейчас это работает на том же сервере, поэтому у нас нет особых проблем с безопасностью (порты приложений GlassFish заблокированы для удаленного доступа).

Однако нам нужно будет масштабировать это в ближайшее время, и балансировщик нагрузки (Nginx или что-то еще) нужно будет перенести на другой сервер.

У меня нет большого опыта в настройке сертификатов SSL, поэтому мне было интересно, какие у нас будут варианты:

  1. Должны ли мы устанавливать SSL-сертификаты для GlassFish Server (возможно, самоподписанные сертификаты), чтобы гарантировать SSL / TLS-соединение после прохождения балансировщика нагрузки?
  2. Nginx имеет сертификат SSL * .example.com. Можно ли использовать один и тот же сертификат SSL с двумя разными веб-серверами, чтобы Glassfish мог напрямую получать запросы HTTPS для поддомена (https://api.example.com) без прохождения через Nginx или другой балансировщик нагрузки.

Буду очень признателен за вашу помощь.

Следует ли устанавливать SSL-сертификаты для GlassFish Server (возможно, самоподписанные сертификаты), чтобы гарантировать SSL / TLS-соединение после прохождения балансировщика нагрузки?

Если у вас есть подстановочный SSL-сертификат для * .example.com, тогда вы можете избежать самозаверяющего сертификата. Вы можете указать имя хоста glassfish как поддомен example.com (например, glassfish.example.com). Тогда вы можете использовать proxy_ssl_verify для предотвращения атаки MITM и обеспечения безопасного соединения между балансировщиком нагрузки и Glassfish.

Если вы должны использовать самозаверяющий сертификат, добавление этого сертификата в список доверенных и позволяя proxy_ssl_verify должен делать свою работу.

Nginx имеет сертификат SSL * .example.com. Можно ли использовать один и тот же сертификат SSL с двумя разными веб-серверами, чтобы Glassfish мог напрямую получать запросы HTTPS для поддомена (https://api.example.com) без прохождения через Nginx или какой-либо другой балансировщик нагрузки.

Если вы имеете в виду подстановочный SSL-сертификат, тогда ДА, вы можете установить тот же сертификат.